Я пытаюсь создать простой скрипт для предотвращения простоя (который перемещает мышь или что-то еще), чтобы предотвратить остановку приложения.
Как сохранить работоспособность после блокировки экрана?
Кажется, что это объясняется в FAQ по Autoit: http://www.autoitscript.com/wiki/FAQ#Why_doesn.27t_my_script_work_on_a_locked_workstation.3F
На заблокированной станции любое окно никогда не будет активным (активным является только диалог с текстом «Нажмите Ctrl + Alt + Del»). В заблокированном состоянии Windows приложения запускаются скрытыми (за этим видимым диалогом) и не имеют фокуса и активного состояния. Поэтому обычно не используют Send () MouseClick () WinActivate () WinWaitActive () WinActive () и т. Д. Вместо этого используйте ControlSend () ControlSetText () ControlClick () WinWait () WinExists () WinMenuSelectItem () и т. Д. Таким образом, ваш сценарий может быть резистивным по отношению к другим активным окнам. Такой скрипт можно запустить из планировщика на заблокированной станции Windows.
На заблокированной станции любое окно никогда не будет активным (активным является только диалог с текстом «Нажмите Ctrl + Alt + Del»). В заблокированном состоянии Windows приложения запускаются скрытыми (за этим видимым диалогом) и не имеют фокуса и активного состояния.
Поэтому обычно не используют Send () MouseClick () WinActivate () WinWaitActive () WinActive () и т. Д.
Вместо этого используйте ControlSend () ControlSetText () ControlClick () WinWait () WinExists () WinMenuSelectItem () и т. Д. Таким образом, ваш сценарий может быть резистивным по отношению к другим активным окнам. Такой скрипт можно запустить из планировщика на заблокированной станции Windows.
Вы не можете ничего автоматизировать после блокировки экрана. Пользовательский ввод просто игнорируется. Гораздо более простым способом было бы предотвратить блокировку экрана, например, путем случайного перемещения мыши каждые 30 секунд.