|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Ожидание окна и действие (Автозаполнение/GUICtrlComboBox_AutoComplete) |
|
|
Ожидание окна и действие (Автозаполнение/GUICtrlComboBox_AutoComplete)
|
Новый участник Сообщения: 10 |
Как пользоваться _GUICtrlComboBox_AutoComplete ?
Нужен простой скрипт который будет постоянно сидеть в памяти (запущен) и ждать появления определенного окна. При его(окна) появлении, нажать кнопку да кнопка да >>>> Window <<<< Title: Весовой модуль Class: #32770 Position: 348, 328 Size: 335, 126 Style: 0x94C801C5 ExStyle: 0x00010101 Handle: 0x0081021C >>>> Control <<<< Class: Button Instance: 1 ClassnameNN: Button1 Name: Advanced (Class): [CLASS:Button; INSTANCE:1] ID: 6 Text: &Да Position: 74, 67 Size: 89, 23 ControlClick Coords: 46, 10 Style: 0x50030000 ExStyle: 0x00000004 Handle: 0x00830222 >>>> Mouse <<<< Position: 471, 427 Cursor ID: 0 Color: 0xD4D0C8 >>>> StatusBar <<<< >>>> ToolsBar <<<< >>>> Visible Text <<<< &Да &Нет Создание файла товаров, для весов DIGI. Для этой операции потребуется некоторое время. Продолжить? >>>> Hidden Text <<<< затем в поле ввода(курсор сам встает в поле после нажатия кнопки Да) ввести символы, перейти tab на следующее поле ввода ввести символы и нажать Enter (это просто пара логин пароль) Желательно его перевести в службу или хотя бы exe. |
|
Отправлено: 09:39, 13-02-2011 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Предупреждение за нарушение правил форума, пункт 2.7 и пункт 3.19:
Цитата:
А также куски кода следует помещать в соответствующий тег (code). |
|
------- Отправлено: 10:25, 13-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
![]() |
|
Отправлено: 11:22, 13-02-2011 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата batya85:
#NoTrayIcon Global $fClick = True, _ $sTitle = '[TITLE:Весовой модуль; CLASS:#32770]' HotKeySet('{Esc}', '_Exit') ;Esc - выход If @Compiled Then _RegRun() ;для записи скрипта в автозагрузку EndIf While 1 If WinExists($sTitle) And BitAND(WinGetState($sTitle), 2) Then If $fClick Then _Click() If Not @error Then $fClick = False EndIf EndIf Else $fClick = True EndIf Sleep(100) WEnd Func _Exit() Exit EndFunc ;==>_Exit Func _RegRun() Local $sRegRun = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' If RegRead($sRegRun, @ScriptName) = '' Or RegRead($sRegRun, @ScriptName) <> @ScriptFullPath Then RegWrite($sRegRun, @ScriptName, 'REG_SZ', @ScriptFullPath) EndIf EndFunc ;==>_RegRun Func _Click() Local $sLogin = 'digi' If Not ControlClick($sTitle, '', '[CLASS:Button; INSTANCE:1]') Then Return SetError(1) If WinExists($sTitle) Then Return SetError(1) Send($sLogin) Sleep(100) Send('{TAB}') Sleep(100) Send($sLogin) Sleep(100) Send('{ENTER}') ;здесь бы проверку сделать, что-то должно измениться. Return SetError(0) EndFunc ;==>_Click |
|
Последний раз редактировалось madmasles, 13-02-2011 в 19:20. Причина: изменил код Отправлено: 16:13, 13-02-2011 | #4 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
1 - окно которое отлавливаем . 2 - кнопка которую жмем. 3 - в оба поля через tab нужно ввести символы digi 4 - окно которое не имеет названия и AutoIT Window Info его не видит либо зависает. данное окно закрывается(подтверждается вход) нажатием клавиши enter так вот , после запуска скрипта окно 1 успешно отлавливается и клавиша 2 нажимается, а вот действие 3 не выполняется (что логично, так как скриптом это не предусмотрено) можно попросить доработать скрипт с учетом условий ? ![]() ![]() |
||
Отправлено: 18:06, 13-02-2011 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать batyaPS,
Я код изменил, но не проверял. (Предыдущий код проверял на собственном нарисованном окне.) |
Отправлено: 19:22, 13-02-2011 | #6 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать поправка 2 .
действие 3 не выполняется, наверно по тому что окно 4 появляется не сразу , а спустя 5 секунд после нажатия кнопки 2. нужна задержка 5-6 сек. как можно получить данные о окне 4 ? если AutoIT Window Info его не видит ? |
Отправлено: 09:25, 14-02-2011 | #7 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать ну подскажите, куда правильно поставить SLIP ?
|
Отправлено: 08:35, 18-02-2011 | #8 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать |
Отправлено: 08:41, 18-02-2011 | #9 |
Ветеран Сообщения: 968
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
не чего не появляется и не каких сообщений нет. появилось окно . тут же нажалась кнопка . выдержка . ввод логин пароль .ентер. все как надо . было бы вообще шикарно если бы можно было избавится от задержки . но как отловить это окно без заголовка ? |
|
Отправлено: 10:05, 18-02-2011 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|