2015-08-28 2 views
2

Я хочу отправить нажатие клавиши chrome, но она работает только в то время, когда окно активно. Я бы хотел, чтобы это работало, даже когда окно находится в фоновом режиме.Отправка нажатия клавиши в неактивное окно

;begin 
Pause 
Loop { 
ControlSend,,{escape}, Omegle - Google Chrome 
Sleep 2650 
} 
F9::Pause 
;end 
+0

Не имеют полный пример, но вы, вероятно, нужно использовать PostMessage вместо ControlSend. PostMessage может запускать окно с помощью своего дескриптора, тогда как ControlSend ближе к эмуляции пользователя, нажимающего клавишу, которая опирается на окно, сфокусированное в данный момент. –

ответ

1

Для работы на HWND (дескриптор окна) элемента управления, оставьте параметр Control пустым и задайте ahk_id% ControlHwnd% для параметра WinTitle (это также работает на скрытых контролов, даже если DetectHiddenWindows выключена). HWND элемента управления обычно извлекается через ControlGet Hwnd, MouseGetPos или DllCall.

От http://ahkscript.org/docs/commands/ControlSend.htm

+0

yeaaaaah Я понятия не имею, как это сделать. Лучшее, что я мог придумать, было: ControlGet, ControlHwnd, Hwnd ,,, Omegle - Google Chrome ControlSend ,, {escape}, ahk_id% ControlHwnd% –

+0

Это должно быть в соответствии с документами. Любые ошибки или просто не работают? – dinomix

+0

Просто не работает. Но он отлично работает, когда я нахожу вкладку в окно. Другими словами, управляющий элемент работает (я думаю), но по какой-то причине работает только при переходе назад в хром. –

Смежные вопросы