VBA - Найти открытые окна по маске и закрыть их!

Ответить
Аватара пользователя
Ууух

VBA - Найти открытые окна по маске и закрыть их!

Сообщение Ууух »

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





Код:

Код: Выделить всё

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

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

Изображение
Аватара пользователя
Iska

Re: VBA - Найти открытые окна по маске и закрыть их!

Сообщение Iska »

Цитата Ууух:



надо найти и закрыть все окна, в названии которых содержится слово "Блокнот".
VBA - Найти открытые окна по маске и закрыть их!




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




Цитата Ууух:



Как сделать поиск по маске? Если циклом, то как перебрать все открытые окна?
VBA - Найти открытые окна по маске и закрыть их!




Начните хотя бы отсюда:

www.ПЕРВЫЕ ШАГИ.ru :: 1.27.1.22 Функция FindWindow


www.ПЕРВЫЕ ШАГИ.ru :: 1.27.1.20 Функция EnumWindows
Аватара пользователя
Iska

Re: VBA - Найти открытые окна по маске и закрыть их!

Сообщение Iska »

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

Re: VBA - Найти открытые окна по маске и закрыть их!

Сообщение Iska »

Цитата NickM:



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




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

Re: VBA - Найти открытые окна по маске и закрыть их!

Сообщение Ууух »

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

Вернуться в «Программирование и базы данных»