Что нового

[Окна, Диалоги] Как определить запущено ли окно с заданным именем?

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Как определить запущено ли окно с заданным именем?

Имеется условный скрипт:
Код:
If Not WinActive("ПРОБА.txt - AkelPad","") Then WinActivate("ПРОБА.txt - AkelPad","")
WinWaitActive("ПРОБА.txt - AkelPad","",2)
If @error Then
	MsgBox (0,"","Окно не ображунено")
	Exit
EndIf
MsgBox (0,"","Далее")
Exit


Не работает.

В справке по функции WinWaitActive написано:
"Возвращаемое значение

Значение 0, если ожидание завершилось по окончанию таймаута, иначе 1."

В какую переменную WinWaitActive сохраняет этот нуль?


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

Все понял как.

Код:
$all_windows = WinList()
$W0 = "ПРОБА.txt - AkelPad"

For $i = 1 to $all_windows[0][0]
	If WinGetTitle($all_windows[$i][1]) = $W0 Then 
		MsgBox (0, "", "ДА") 
		Exit
	EndIf 
Next

MsgBox (0, "", "НЕТ")


Извиняюсь за глупый вопрос.
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Как определить запущено ли окно с заданным именем?
Можно воспользоваться функцией проверки существования окна:
Код:
WinExists()

Вот к примеру так:
Код:
If Not WinExists("ПРОБА.txt - AkelPad") Then
   MsgBox (0,"","Окно не ображунено")
   Exit
EndIf

If Not WinActive("ПРОБА.txt - AkelPad","") Then 
   WinActivate("ПРОБА.txt - AkelPad","")
EndIf

WinWaitActive("ПРОБА.txt - AkelPad","",2)
MsgBox (0,"","Далее")
 
Автор
X

xlgrgrc

Знающий
Сообщения
91
Репутация
7
Ого! Щас попробую. Спасибо большое )))


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

Yuriy - спасибо. Все приладил все работает отлично :smile:
 
Верх