Столкнулся с интересной задачей. Нужно обработать список выполняемых приложений. Казалось бы, а чего проще, но...
Обрабатывая 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
 ...
не дает желаемого результата... Часть "левых" окон таки прорывается...
Люди добрые, куда еще рыть?


