Например, если я делаю это:

run Notepad.exe
sleep 500
send, test
return

Он запустится, когда я удаленно войду в систему, но если я запланирую задачу для запуска этого .ahk, он запустится, но остановит команду send.

Я знаю решение не для обычного выхода из системы, а для запуска другой команды .bat:

C:\Windows\System32\tscon.exe 0 /dest:console
C:\Windows\System32\tscon.exe 1 /dest:console
C:\Windows\System32\tscon.exe 2 /dest:console
C:\Windows\System32\tscon.exe 2 /dest:console
C:\Windows\System32\tscon.exe 3 /dest:console
C:\Windows\System32\tscon.exe 4 /dest:console
C:\Windows\System32\tscon.exe 5 /dest:console

но мой компьютер настроен на перезагрузку каждые 3 дня, и тогда он больше не будет работать.

Редактировать: он запускает Блокнот, потому что Блокнот виден при входе в систему, но он не может вызвать нажатия клавиш.

ПАРАМЕТРЫ РАСПИСАНИЯ ЗАДАЧИ

[ГЕНЕРАЛЬНЫЙ]

Проверено - Запустить, вошел ли пользователь в систему или нет. Проверено - Запустить с наивысшими привилегиями.

[НАСТРОЙКА]

Установлено - разрешать запуск задачи по требованию, если задача уже выполняется, применяется следующее правило: не запускать новый экземпляр

Пожалуйста помоги. Благодарю.

1 ответ1

0

Если вы не видите окно на экране, вы не можете отправить его, как отмечалось в комментариях.

Попробуйте использовать ControlSend который не требует, чтобы окно было активным. Я не проверял код ниже ... может быть, вы можете поиграть. Оператор WinExist() получает идентификатор вновь созданного окна блокнота ... если у вас открыто более одного окна, вам нужно будет определить, какое из них, и, возможно, больше заботиться о его выводе, но это хорошо для тестового случая, когда Блокнот вообще не работает, а затем вы запускаете окно. В этом случае вы также можете заменить оператор сна WinWait .

run Notepad.exe
sleep 1000
ControlSend,, test, % "ahk_id" WinExist("ahk_exe notepad.exe")
return

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .