Что нового

[Окна, Диалоги] Как закрыть окно прирожения с произвольным именем?

ice7

Новичок
Сообщения
4
Репутация
0
Открываем текстовый файл по ссылки с сайта(имя файла не известно до загрузки), с последующим открытием его в notepad. Поработали с текстом, далее необходимо закрыть окно notepad.Файл сохранять не нужно.

Например открылся файл:
8Ir0201004161531.txt - notepad

Вариант не проходит.
WinActivate(".txt - Notepad","")
WinClose(".txt - Notepad","")

Если указать точное имя, то работает.
WinActivate("8Ir0201004161531.txt - Notepad","")
WinClose("8Ir0201004161531.txt - Notepad","")

Есть ли в Autoit аналог *- как любого символа в бат файлах?
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Так попробуй.
Код:
WinClose("[Class:Notepad]")


Class:Notepad
взято из AutoIt Window Info
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Если в каждый момент времени будет открыт только один экземпляр блокнота, то лучше действовать через класс окна
Код:
WinActivate("[CLASS:Notepad]","")
WinClose("[CLASS:Notepad]","")

либо использовать рег. выражения в заголовках окон
Код:
Opt("WinTitleMatchMode", 4)
WinActivate("[REGEXPTITLE:.*\.txt - Notepad]","")
WinClose("[REGEXPTITLE:.*\.txt - Notepad]","")
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Вот еще одно.
Убийство всех блокнотов:
Код:
While 1
	Sleep(100)
	If ProcessExists("notepad.exe") Then
		ProcessClose("notepad.exe")
	Else
		ExitLoop
	EndIf	
WEnd
 
Автор
I

ice7

Новичок
Сообщения
4
Репутация
0
Еще раз спасибо за предоставленные варианты.

В моем случае пойдет закрытие всех окон приложения, но может и потребуется закрытие конкретного окна. Это постараюсь потестить через рег. выражения.
 
Верх