AutoIT WinWait Активная проблема - PullRequest
1 голос
/ 13 мая 2010

У меня есть приложение C # с окнами форм, с помощью которого мне нужно автоматизировать открытие файла с помощью собственного программного обеспечения (mySoftware). У меня есть следующий код, как показано ниже. Насколько я понимаю, WinWaitActive () должна подождать, пока я не нажму на внутреннее окно программного обеспечения (mySoftwareWindow) и сделаю его активным, прежде чем код переместится на следующую строку и откроет указанный файл XML (строка 6 в коде ниже). Вместо этого происходит то, что следующая строка кода запускается еще до того, как я могу сделать внутреннее программное обеспечение активным, запуская, таким образом, кнопку «Открыть» (строка 6 в коде ниже) в текущем активном окне, которое в данном случае является формой приложения C # , Как вы думаете, что здесь происходит не так? Спасибо! * * 1001

 aut = new AutoItX3Lib.AutoItX3Class();
 aut.WinWaitActive("mySoftwareWindow", "", 1);
 aut.WinMenuSelectItem("mySoftwareWindow", "", "&File", "&Open", "", "", "", "", "", "");
 aut.Send("C:\\test.xml", 0);
 //click the Open button
 aut.Send("!o", 0);
 aut.Send("{ENTER}", 0); 

1 Ответ

2 голосов
/ 13 мая 2010

Время ожидания очень короткое, 1 секунды недостаточно. Сделайте тайм-ауты как минимум в 10 раз в худшем случае, перейдите как минимум на 20 здесь. И обязательно проверьте возвращаемое значение функции, нет смысла продолжать, если она вернула ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...