Скрипт с командой ControlSend

Помощь в написании скриптов
Mak5ik
Posts: 2
Joined: 05 Dec 2021, 04:56

Скрипт с командой ControlSend

Post by Mak5ik » 05 Dec 2021, 05:07

Доброго дня (вечера, ночи).

Пытаюсь сделать скрипт который отправлял бы в игру нажатие клавиши таб. При этом игра должна быть в неактивном окне.
Данные Window Spy таковы:

Code: Select all

ahk_class fox
ahk_exe mgsvtpp.exe
ahk_pid 14176	
Скрипт который я запускаю (и он не работает) выглядит так:

Code: Select all

F8::
ControlSend,, {Tab}, ahk_class fox
return
Пробовал заменять "ahk_class fox" на "ahk_exe mgsvtpp.exe" или "ahk_pid 14176", а также на название окна.
Подскажите в чем может быть ошибка.

P.S. скрипт через команду Send работает с данной игрой (естественно когда она в активном окне).

mcl
Posts: 355
Joined: 04 May 2018, 16:35

Re: Скрипт с командой ControlSend

Post by mcl » 06 Dec 2021, 09:17

Некоторые программы (браузеры, игры) игнорируют ControlSend. Если в активном окне ControlSend не работает, то и в неактивном не будет.

В некоторых случаях помогает ControlFocus перед ControlSend.
Можно попробовать ControlSend, ahk_parent, ..., но не уверен, что это вдруг спасёт.
Ещё можно поиграться со значениями SetControlDelay, SetKeyDelay, и другими режимами отправки (SendEvent, SendPlay).
github://oGDIp - GDI+ wrapper for AHK v1.1

Mak5ik
Posts: 2
Joined: 05 Dec 2021, 04:56

Re: Скрипт с командой ControlSend

Post by Mak5ik » 06 Dec 2021, 11:53

@mcl
Да в активном тоже не работает. Ладно, собрал скрипт который делает окно активным, отправляет команду и снова его сворачивает. В любом случае спасибо.

Post Reply

Return to “Помощь”