Как узнать, нажата ли кнопка из другого приложения или нет

Мне нужно автоматизировать задачу с помощью скрипта AutoIt. Целевое приложение — «Загрузчик видео с начала года». В нем есть кнопка загрузки. Когда я нажимаю эту кнопку, мне нужно, чтобы мой скрипт autoit запустился. После нескольких часов гугления я понял, что мне нужно использовать API "SetWindowsHookEx". Но, погрузившись в это, я хочу прочитать какой-нибудь пример кода или несколько руководств по этой конкретной теме. Я много гуглил, чтобы найти такие учебники. Каждое руководство связано либо с крючком клавиатуры, либо с крючком мыши. Я не могу найти, как использовать этот API для нажатия кнопки или нет. Помогите пожалуйста мне. Заранее спасибо. Примечание. Что я еще узнал о SetWindowsHookEx, так это; Используйте «UnHookWindowsEx» при выходе из программы. Это единственное, что я заметил, когда делал это?


person Vinod KC    schedule 01.03.2015    source источник
comment
Подождите, что именно делает ваш скрипт, чтобы его нужно было запускать, когда вы нажимаете кнопку?   -  person andlabs    schedule 01.03.2015
comment
Эта сторонняя программа (загрузчик видео с начала года) не имеет полного диалога загрузки. Поэтому я написал сценарий для него. Это рабочий стиль моего скрипта;   -  person Vinod KC    schedule 02.03.2015
comment
Он проверит статус загрузки, и когда он будет равен Complete, мой скрипт отобразит MsgBox и завершит работу.   -  person Vinod KC    schedule 02.03.2015


Ответы (1)


Используйте шпионскую программу, например Spy++. чтобы увидеть, какие сообщения отправляются вашим целевым приложением при нажатии кнопки. Вероятно, кнопка загрузки отправляет команду WM_COMMAND в родительское окно; это, вероятно, правильное сообщение для перехвата с помощью SetWindowsHookEx.

Есть несколько примеров этого при переполнении стека , например. здесь

person Joel Spolsky    schedule 02.03.2015