Что нового

if...then...else вставка title в условные операторы

valet7let

Новичок
Сообщения
2
Репутация
0
Здравствуйте, помогите пожалуйста разобраться в синтаксисе, как правильно вставить в условный оператор окно, окно появляется рандомно и если оно появляется нужно его закрыть, вот как это правильно в if вписать? а если там нужно вводить class, а не title, то как его правильно вводить, если autoitinfo встроенная утилита с прогой, показывает класс, но класс окна постоянно генерируется разный из 16-ричных чисел. Приведу пример, например закрываем блокнот, если будет предупреждение типа "сохранить файл?" то его нужно закрыть, если нет то продолжить работу скрипта.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
valet7let [?]
например закрываем блокнот
Код:
WinClose("[class:Notepad]")
If WinWait("Блокнот", "Отмена", 1) Then ControlClick("Блокнот", "Отмена", "Button3")

; или так (уменьшает время ожидания)
Sleep(100)
If WinExists("Блокнот", "Отмена") Then ControlClick("Блокнот", "Отмена", "Button3")


класс окна постоянно генерируется разный
Используйте расширенную установку поиска: REGEXPCLASS
 
Автор
V

valet7let

Новичок
Сообщения
2
Репутация
0
Спасибо, проблему решил, поэксперементировал и узнал что в WinWait можно и название окна впихнуть, будет работать
Код:
$aWait = WinWait("Сохранение", "", 3)
If Not $aWait Then
Sleep(1000)
EndIf
If WinExists("Сохранение") Then
Send("{ENTER}")
Else
Sleep(1000)
EndIf
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
valet7let
Так по-короче
Код:
If WinWait("Сохранение", "", 4) Then
  Send("{ENTER}")
Else
  Sleep(1000)
EndIf
 
Верх