grad getestet und ich bekomm keine Fehlermeldung
und wie gesagt:
Delphi-Quellcode:
GetWindowText(Wnd, Bezeichnung, 201);
// bzw.
GetWindowText(Wnd, Bezeichnung, Length(Bezeichnung));
@Luckie: die "1" ist doch egal ... da er LParam eh nicht verwendet
[add]
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, Length(Bezeichnung));
TListBox(LParam).Items.Add(Bezeichnung);
end;
Result := True;
end;
procedure TForm1.aktualisieren1Click(Sender: TObject);
begin
ListBox1.Clear;
EnumWindows(@EnumWindowsProc, LPARAM(ListBox1));
end;