Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Найти открытые окна по маске и закрыть их! (http://forum.oszone.net/showthread.php?t=316082)

Ууух 21-06-2016 16:51 2644564

Найти открытые окна по маске и закрыть их!
 
Доброго дня всем! Подскажите новичку. Заморочился такой проблемкой - надо найти и закрыть все окна, в названии которых содержится слово "Блокнот". Сделал так:

Код:

Sub CloseApp()  'находит окно и закрывает его
Dim lngHwnd As Long
Dim lngReturn As Long
   
lngHwnd = FindWindow(vbNullString, "* - Блокнот")  'не находит окна, возвращает нуль
lngReturn = PostMessage(lngHwnd, WM_CLOSE, 0&, 0&) 
     
End Sub

если название окна указать полностью, то всё работает прекрасно, но при попытке найти окно по маске ничего не получается. Как сделать поиск по маске? Если циклом, то как перебрать все открытые окна?
:wall:

Iska 21-06-2016 17:25 2644577

Цитата:

Цитата Ууух
надо найти и закрыть все окна, в названии которых содержится слово "Блокнот". »

Неудачное решение. Хотите закрыть Блокноты — ищите окна по классу, а не заголовку.

Цитата:

Цитата Ууух
Как сделать поиск по маске? Если циклом, то как перебрать все открытые окна? »

Начните хотя бы отсюда:
www.ПЕРВЫЕ ШАГИ.ru :: 1.27.1.22 Функция FindWindow
www.ПЕРВЫЕ ШАГИ.ru :: 1.27.1.20 Функция EnumWindows

NickM 21-06-2016 17:30 2644583

А готовым примером воспользоваться не хотите, с применением API? Или обязательно изобрести Свой велосипед?

Iska 21-06-2016 19:32 2644623

Цитата:

Цитата NickM
А готовым примером воспользоваться не хотите, с применением API? Или обязательно изобрести Свой велосипед? »

Возможно, проблема с английским. Возможно, неумение правильно сформулировать запрос в поисковик. Мало ли…

Ууух 22-06-2016 16:09 2644860

За готовый велосипед спасибо. Буду разбираться.


Время: 05:43.

Время: 05:43.
© OSzone.net 2001-