Registriert seit: 29. Mai 2002
37.621 Beiträge
Delphi 2006 Professional
|
Re: EnumWindows Fehler
11. Dez 2003, 08:33
Versuch es mal so:
Delphi-Quellcode:
type
PMyEnumParam = ^TMyEnumParam;
TMyEnumParam = record
lb: TListbox;
end;
function GetWindows(const hWnd: Longword; Param: PMyEnumParam): LongBool;
stdcall;
var
Len: Longint;
S: string;
begin
Result := True;
if not (IsWindow(hWnd) and IsWindowVisible(hWnd)) then
Exit;
Len := SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0);
if Len > 0 then
begin
SetLength(S, Len);
SendMessage(hWnd, WM_GETTEXT, Len + 1, Longint(Pchar(S)));
Param.lb.Items.Add(s);
end;
// mit Result = False kann die Callbackfunktion vorzeitig verlassen werden
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Param: TMyEnumParam;
begin
Param.lb := Listbox1;
EnumWindows(@GetWindows, LPARAM(@Param));
end;
Michael Ein Teil meines Codes würde euch verunsichern.
|
|
Zitat
|