Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
#NoTrayIcon
 
#include <APIConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WinAPIEx.au3>
 
;Активная схема
$sActivePowerScheme = RegRead('HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes', 'ActivePowerScheme')
;Перевод компьютера в спящий режим
$iCompToSleep = RegRead('HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\' & $sActivePowerScheme & '\238c9fa8-0aad-41ed-83f4-97be242c8f20\29f6c1db-86da-48c5-9fdb-f2b67b1f44da', 'ACSettingIndex')
If $iCompToSleep = 0 Then Exit
 
;Список всех процессов
$aProcessList = ProcessList()
 
$form1 = GUICreate('Process List', 240, 340)
$ListView = GUICtrlCreateListView('Имя|PID', 8, 8, 224, 300, BitOR($LVS_SINGLESEL, $LVS_SORTASCENDING))
;Начинаем с $i = 3, чтобы убрать [System Process] и System, заодно убираем svchost.exe
For $i = 3 To $aProcessList[0][0]
    If $aProcessList[$i][0] = 'svchost.exe' Then ContinueLoop
    GUICtrlCreateListViewItem($aProcessList[$i][0] & '|' & $aProcessList[$i][1], $ListView)
Next
$Button1 = GUICtrlCreateButton('OK', 36, 310, 80, 22)
$Button2 = GUICtrlCreateButton('Отмена', 124, 310, 80, 22)
;Устанавливаем ширину по длине текста
GUICtrlSendMsg($ListView, $LVM_SETCOLUMNWIDTH, 0, -1)
GUISetState(@SW_SHOW)
 
While 1
    Switch GUIGetMsg()
        Case $Button1
            $item = GUICtrlRead($ListView) ; Получить идентификатор (ID) текущего выделенного пункта ListView
            If $item = 0 Then
                MsgBox(64, 'Сообщение', 'Нет выделенных', 0, $form1)
            Else
                $text = GUICtrlRead($item, 1) ; Получить текст пункта ListView
                If $text == '' Then
                    MsgBox(16, 'Ошибка', 'Ошибка при поиске инфо о пункте', 0, $form1)
                Else
                    ExitLoop
                EndIf
            EndIf
        Case $Button2
            Exit
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
 
$text = StringRegExpReplace($text, '^([^\|]+?\|)([0-9]{1,4})\|$', '\2', 1)
 
_WinAPI_SetThreadExecutionState(BitOR($ES_SYSTEM_REQUIRED, $ES_CONTINUOUS))
While ProcessExists($text)
    Sleep(300000)
WEnd
_WinAPI_SetThreadExecutionState($ES_CONTINUOUS)
 

Всего записей: 6490 | Зарегистр. 28-01-2008 | Отправлено: 15:55 31-03-2015 | Исправлено: Skif_off, 15:55 31-03-2015
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
gyra (23-01-2020 10:51): AutoIT (Часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru