Я пытаюсь разработать сценарий Perl, который очень просто управляет приложением (заполняет несколько полей, нажимает некоторые клавиши).
Я реализовал все, используя Win32 :: GuiTest.
Цель состоит в том, чтобы заставить его работать с минимизированным приложением в трее, что позволяет мне одновременно использовать ПК.
Я использую такие функции, как: WMSetText, SelComboItem, SendMessage, PushChildButton.
Все они работают нормально, кроме PushChildButton. Всякий раз, когда вызывается эта функция, я теряю фокус (хотя контролируемое приложение остается минимизированным) от того, что я делаю.
Приложение, которое я использую перед вызовом PushChildButton: http: // i. imgur.com/7B5kj.png
Приложение, которое я использую после вызова PushChildButton: http: // i. imgur.com/VCskW.png
Я пытался убить фокус, как это, но это не сработало:
my $msg_id=0x08;
SendMessage( @_[ 0 ], $msg_id, @_[ 1 ], undef );
@_[ 0 ] - handle to the application
@_[ 1 ] -handle to the "Edit Control" that I think* that takes the focus after pressing the button
* Позвольте мне уточнить это немного. Приложение по-прежнему остается свернутым, но иногда этот ресурс «Edit Control» содержит строки, которые объединяются с клавишами, которые я нажал, теряя фокус.
PS: я начинающий с Perl и WinAPI (на самом деле это мой первый проект), так что я мог бы
объяснил вещи немного неясно. Пожалуйста, спросите меня обо всем, что вы чувствуете, что я
следует уточнить.