yevgeniy
Новичок
- Сообщения
- 3
- Репутация
- 0
Помогите разобраться.
Описание работы скрипта:
Пользователь выполняет вход в систему, запускается autoit-скрипт, который следит за сигналом о завершение работы Windows, при этом временно приостановив процесс выключения . После чего ждет появления уведомления о том что какие то программы блокируют выключение (см. скриншот) и с помощью отлова класса этого уведомления - нажимается кнопка отмена. Далее пользователю выводится картинка о том что бы он не переживал - ПК выключится сам, и запускается мне нужный сценарий с последующим завершением работы системы.
Для Windows 7 на просторах интернета был найден скрипт http://pastebin.com/cdZvfYz0, в нем вот такая функция:
Для Windows 8/8.1/10 это не работает. Пробовал искать класс уведомления о завершении работы с помощью Au3Info - не получается, оно его блокирует. В autoit я новичок, подскажите пожалуйста как поймать нужный класс в Win 8/8.1/10.
Описание работы скрипта:
Пользователь выполняет вход в систему, запускается autoit-скрипт, который следит за сигналом о завершение работы Windows, при этом временно приостановив процесс выключения . После чего ждет появления уведомления о том что какие то программы блокируют выключение (см. скриншот) и с помощью отлова класса этого уведомления - нажимается кнопка отмена. Далее пользователю выводится картинка о том что бы он не переживал - ПК выключится сам, и запускается мне нужный сценарий с последующим завершением работы системы.
Для Windows 7 на просторах интернета был найден скрипт http://pastebin.com/cdZvfYz0, в нем вот такая функция:
Код:
Func Cancel_ShutdownResolver()
Local $iOldOption, $hWnd
$iOldOption = Opt("WinTitleMatchMode", 4)
$hWnd = WinGetHandle("[CLASS:BlockedShutdownResolver]")
Opt("WinTitleMatchMode", $iOldOption)
If $hWnd Then
; unregister adlib function.
AdlibUnRegister("Cancel_ShutdownResolver")
; Click the cancel button.
ControlClick($hWnd, "", "[CLASS:Button; INSTANCE:1]")
EndIf
EndFunc ;==>Cancel_ShutdownResolver
Для Windows 8/8.1/10 это не работает. Пробовал искать класс уведомления о завершении работы с помощью Au3Info - не получается, оно его блокирует. В autoit я новичок, подскажите пожалуйста как поймать нужный класс в Win 8/8.1/10.