|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Ожидание появления Next скриптом. Как? |
|
|
[решено] Ожидание появления Next скриптом. Как?
|
Ветеран Сообщения: 2756 |
Профиль | Отправить PM | Цитировать Есть такой кусок скрипта который тискает по кнопкам для установки программы:
Проблема в том, что когда появляется окно 'Установка ...' то кнопка под номером 101 не активна, но скрипт все равно ее нажимает и работает дальше. А кнопка 101 становится активна через несколько секунд. Как записать этот скрипт чтобы он ждал когда кнопка 101 станет активной и лишь тогда ее нажал??? Какой либо таймер ожидания не подходит, так как время появления кнопки рандомное... |
|
------- Отправлено: 16:54, 06-02-2011 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Pozia,
Попробуйте так: ;... $hWin = WinWait('Установка ...', '', 5) If $hWin Then While Not ControlCommand($hWin, '', 101, 'IsEnabled', '') Sleep(100) WEnd ControlClick($hWin, '', 101) EndIf ;... |
Последний раз редактировалось madmasles, 06-02-2011 в 18:56. Отправлено: 17:04, 06-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать madmasles, по-моему секундной паузы слишком много. мне кажется хватит и 50-100 мс
|
------- Отправлено: 17:25, 06-02-2011 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать kaster,
Цитата Pozia:
|
|
Отправлено: 18:14, 06-02-2011 | #4 |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать madmasles, да, но даже если она становится активной сразу после последней проверки, то в любом случае ждать еще секунду пока настанет следующая проверка. но этом имхо. 50-100 мс проц не нагрузят.
|
|
------- Отправлено: 18:30, 06-02-2011 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать kaster,
Конечно, Вы правы, поменял. |
Отправлено: 18:55, 06-02-2011 | #6 |
Пользователь Сообщения: 106
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:29, 06-02-2011 | #7 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles, почему то не срабатывает, думаю потому, что до того как кнопка активна ана имеет другую цифру, а после 101. Моей кнопки 101 соответствует надпись на ней &Next >. А как подправить код чтобы на эту надпись скрипт нажимал?
Bodya.N, по вашему скрипту ошибка выскакивает line -1 |
------- Отправлено: 19:55, 06-02-2011 | #8 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата Pozia:
Может, так: ;... $hWin = WinWait('Установка ...', '', 5) If $hWin Then While 1 If ControlCommand($hWin, '', 101, 'IsVisible', '') And _ ControlCommand($hWin, '', 101, 'IsEnabled', '') Then ExitLoop Sleep(100) WEnd ControlClick($hWin, '', 101) EndIf ;... ;... $hWin = WinWait('Установка ...', '', 5) If $hWin Then While 1 If StringInStr(WinGetText($hWin), 'Next') And _ ControlCommand($hWin, '', 101, 'IsEnabled', '') Then ExitLoop Sleep(100) WEnd ControlClick($hWin, '', 101) EndIf ;... |
|
Отправлено: 20:20, 06-02-2011 | #9 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles,и так не работает. скрипт просто висит в памяти. В связи с тем, что исходные данные я дал на обум, привожу сейчас точные, что дает автоит виндовз инфо:
>>>> Window <<<< Title: SolidWorks 2011 SP02 Setup Class: MsiDialogCloseClass Position: 370, 273 Size: 539, 431 Style: 0x14CA0000 ExStyle: 0x00040100 Handle: 0x0057043A >>>> Control <<<< Class: Button Instance: 1 ClassnameNN: Button1 Advanced (Class): [CLASS:Button; INSTANCE:1] ID: 41613 Text: &Next > Position: 336, 361 Size: 80, 26 ControlClick Coords: 30, 16 Style: 0x50032001 ExStyle: 0x00000000 Handle: 0x00030574 >>>> Mouse <<<< Position: 739, 678 Cursor ID: 2 Color: 0xB4E1F9 >>>> StatusBar <<<< >>>> Visible Text <<<< &Next > &Cancel < &Back &Help The SolidWorks® Setup Wizard will install SolidWorks 2011 SP02 on your computer. To continue, click Next. NewBinary1 Welcome to the SolidWorks 2011 SP02 Setup Wizard >>>> Hidden Text <<<< NOTE that the SolidWorks 2011 SP02 web download is installed on this system and will be upgraded by this installation. |
------- Отправлено: 20:39, 06-02-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как дождаться РЕАЛЬНОГО появления окна | NewOLDi | AutoIt | 12 | 03-11-2019 12:13 | |
[решено] Как скриптом проиграть видеофайл. | Vagac | AutoIt | 18 | 27-11-2010 14:06 | |
.NET - Ожидание завершения процесса | Efsey | Программирование и базы данных | 11 | 24-11-2010 19:16 | |
ожидание 3-5 минут перед тем как начать загружаться с CD/HDD | Intergo | Непонятные проблемы с Железом | 10 | 19-02-2010 15:19 | |
Как запретить RRAS ожидание входящих звонков? | abode | Microsoft Windows NT/2000/2003 | 0 | 01-07-2006 22:10 |
|