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