Что нового

[Элементы GUI] Функция "WinWait", какой порядок использования?

Tapok

Новичок
Сообщения
204
Репутация
0
Не могу понять, где ошибка.
Код:
$hWindow = WinWait("Конструктор тестов", "", 3);
GUICtrlButton_Click(ControlGetHandle($hWindow, "", "Button59")) ; "Редактор" нажимаем кнопку "Редактор"

$hWindow2 = WinWait("Текстовый редактор", "", 5); ждём появления редактора
If Not $hWindow2 Then
    MsgBox(4096, 'Сообщение', 'Окно "Текстовый редактор" не найдено, завершаем работу скрипта')
    Exit
EndIf

WinActivate ($hWindow2) ; делаем редактор активным
MouseClick ("left", 676, 537) ; нажимаем в центр окна мышью


Так не работает... :scratch:
Но, если самому, вручную нажать кнопку "Редактор", запустить скрипт, все работает...

Что не так?

Если же не запускать текстовый редактор так:
Код:
_GUICtrlButton_Click(ControlGetHandle($hWindow, "", "Button59")) ; "Редактор"

а вручную его запустить, а потом оставить тот же код, то все работает
Код:
$hWindow2 = WinWait("Текстовый редактор", "", 5);
If Not $hWindow2 Then
    MsgBox(4096, 'Сообщение', 'Окно "Текстовый редактор" не найдено, завершаем работу скрипта')
    Exit
EndIf

WinActivate ($hWindow2)
MouseClick ("left", 676, 537)
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Tapok
Так не работает
Не работает ЧТО? Не нажимается кнопка? Вероятно, кнопка ещё не создана. Попробуйте заменить WinWait на WinWaitActive
Код:
$hWindow = WinWaitActive("Конструктор тестов", "", 3)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Попробуйте кликать на кнопки через встроенную функцию
Код:
ControlClick



Добавлено:
Сообщение автоматически объединено:

Типа так
Код:
$hWindow = WinWait("Конструктор тестов", "", 3);
ControlClick($hWindow, "", "Button59") ; "Редактор" нажимаем кнопку
 
Автор
T

Tapok

Новичок
Сообщения
204
Репутация
0
alex33, магия...так работает! А в чем разница? :blink:
Спасибо большое!
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
[?]
магия...так работает!
Tapok
я с вас поражаюсь, не так давно я указывал http://autoit-script.ru/index.php?topic=19754.msg117823#msg117823
может нужно просто начать читать справку, ну хотя бы раз туда заглянуть. потом второй, а там, глядишь, и понравится..и вопросов будет на 90% меньше
 
Автор
T

Tapok

Новичок
Сообщения
204
Репутация
0
joiner сказал(а):
[?]
может нужно просто начать читать справку, ну хотя бы раз туда заглянуть. потом второй, а там, глядишь, и понравится..и вопросов будет на 90% меньше
Так и делаю, по мере своих возможностей пытаюсь разобраться.
 
Верх