Список выполняемых приложений в Windows

Обсуждение идей, архитектуры и проектов (как существующих, так и разрабатываемых).

Модераторы: Рождённый_в_СССР, Модераторы

Список выполняемых приложений в Windows

Сообщение PapaNT » 24.10.2012 20:15:02

Уважаемые коллеги, доброго времени суток!

Столкнулся с интересной задачей. Нужно обработать список выполняемых приложений. Казалось бы, а чего проще, но...
Обрабатывая HWND списка приложений через сито:

Код: Выделить всё
Procedure Some_Proc(WD : HWND);
begin
  if IsWindow(WD) Then // Это окно
    if IsWindowVisible(WD) Then // Это видимое окно
      if IsWindowEnabled(WD) Then // Это окно разрешенное для ввода данных
...

я получаю на выходе список окон несколько больший, чем видимый пользователю по Alt+Tab.
Дополнительный фильтр из
Код: Выделить всё
if (GetWindowLong(WD,GWL_EXSTYLE) and WS_EX_TOOLWINDOW) = 0 Then
...

не дает желаемого результата... Часть "левых" окон таки прорывается...

Люди добрые, куда еще рыть?
PapaNT
постоялец
 
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Re: Список выполняемых приложений в Windows

Сообщение Mr.Smart » 24.10.2012 20:37:26

Предположение.
Если проверять является ли окно дочерним окном рабочего стола т.е. HWND родителя равно 0?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Список выполняемых приложений в Windows

Сообщение PapaNT » 12.12.2012 17:24:12

Решено.
Все в моем было правильно - глюк был в даааааавно неперегруженной Win'7
PapaNT
постоялец
 
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва


Вернуться в Операционная система

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru