Dass sein Code nicht
funktioniert, was auch immer das heißen mag, darüber schweigt er sich ja leider aus.
Im übrigen Funktioniert er bei mir:
Delphi-Quellcode:
var
WindowList: TList;
function GetWindow(
Handle: HWND; LParam: longint): bool;
stdcall;
begin
Result := true;
WindowList.Add(Pointer(
Handle));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
hWindowHandle: HWND;
Buffer:
array[0..255]
of char;
sTitle:
string;
begin
WindowList := TList.Create;
EnumWindows(@GetWindow, 0);
for i := 0
to WindowList.Count - 1
do
begin
hWindowHandle := HWND(WindowList[i]);
if IsWindowVisible(hWindowHandle)
then
begin
GetWindowText(hWindowHandle, Buffer, SizeOf(Buffer) - 1);
if Buffer[0] <> #0
then
begin
sTitle := Copy(StrPas(Buffer), 1, 22);
end;
Form1.memo1.Lines.Add(stitle);
end;
end;
end;