У нас есть раздражающее всплывающее окно, которое появляется в нашей системе торговых точек, всегда с одним и тем же заголовком окна и сообщением в окне. Я хотел бы создать сценарий, который постоянно отслеживает появление этого окна и сразу же нажимает клавишу ввода, когда это происходит.
Я понимаю, что могу использовать цикл, который запускает проверку окна каждые 500 мс, а затем выполняет сценарий, если окно присутствует, но я думаю, что должен быть НЕКОТОРЫЙ способ, при котором AHK может непрерывно контролировать, не находясь в коротком временном цикле. Любой прошлый опыт приветствуется! Спасибо!
P.S. Я изучил тег #persistent, но не думаю, что он действительно подходит для того, что я ищу.
Дополнительное примечание: я продолжил свое собственное исследование и нашел WinWait, но он не работает, когда появляется всплывающее окно! Вы можете сообщить мне, что я делаю не так? Вот сценарий, который я добавил в свой файл AHK:
WinWaitActive, Message, Number of Kits,0
{
Send {Enter}
}
Return
А вот снимок из Инспектора Windows:
>>>>>>>>>>( Window Title & Class )<<<<<<<<<<<
Message
ahk_class TMessForm
>>>>>>>>>>>>( Mouse Position )<<<<<<<<<<<<<
On Screen: 1219, 438 (less often used)
In Active Window: 765, 7
>>>>>>>>>( Now Under Mouse Cursor )<<<<<<<<
Color: 0xF7F3F7 (Blue=F7 Green=F3 Red=F7)
>>>>>>>>>>( Active Window Position )<<<<<<<<<<
left: 454 top: 431 width: 491 height: 148
>>>>>>>>>>>( Status Bar Text )<<<<<<<<<<
>>>>>>>>>>>( Visible Window Text )<<<<<<<<<<<
&Ok
1
Number of Kits
>>>>>>>>>>>( Hidden Window Text )<<<<<<<<<<<
>>>>( TitleMatchMode=slow Visible Text )<<<<
>>>>( TitleMatchMode=slow Hidden Text )<<<<
WinWait
или ShellHook. У последнего есть положительная сторона, позволяющая реализовать реализацию, управляемую событиями. Другими словами, процесс может полностью остановиться или сделать что-то еще, ожидая окна. На мой взгляд, даже цикл ожидания подойдет, если вашему скрипту больше нечего делать. Если вам нужно быстрое решение, я предлагаю использовать WinWait. - person MCL   schedule 29.07.2013