//声明:
GetWindow(
hWnd: HWND; {指定的窗口句柄}
uCmd: UINT {指定的关系选项}
): HWND; {失败返回0; 成功返回符合的窗口句柄}
//uCmd 可选值:
GW_HWNDFIRST = 0; {同级别第一个}
GW_HWNDLAST = 1; {同级别最后一个}
GW_HWNDNEXT = 2; {同级别下一个}
GW_HWNDPREV = 3; {同级别上一个}
GW_OWNER = 4; {属主窗口}
GW_CHILD = 5; {子窗口}
{要有个 Memo 接受数据}
procedure TForm1.Button1Click(Sender: TObject);
var
h: HWnd;
p: array[0..254] of char;
begin
h := GetWindow(Handle, GW_HWNDFIRST);
while h <> 0 do
begin
if GetWindowText(h, p, 255) > 0 then Memo1.Lines.Add(p);
h := GetWindow(h, GW_HWNDNEXT);
end;
end;