Hallo,
mit folgender Funktion hatte ich damals versucht nen TaskManager "nachzubauen".
Delphi-Quellcode:
function EnumWindowsProc (Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
var Bezeichnung : Array[0..200] of Char;
begin
if (IsWindowVisible(Wnd) or IsIconic(wnd)) and
((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
(GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and
(GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then begin
GetWindowText(Wnd, Bezeichnung, 256);
with Form1.ListView1.Items.Add do caption := Bezeichnung;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListView1.Items.Clear;
EnumWindows(@EnumWindowsProc, 1);
end;
Hoffe das es dir weiterhilft!