用WindowsAPI EnumWindows可以实现你想要的功能。EnumWindows枚举所有窗口,用GetWindowText获得标题。具体代码如下:function EnumWndProc(hwnd: THandle; lParam: LPARAM): Boolean; stdcall;var wndTitle: array[0..255] of Char;begin //获取窗口名称 if GetWindowText(hwnd, wndTitle, 255) > 0 then begin //参数lParam转换为TStrings,添加窗口标题 TStrings(lParam).Add(wndTitle); end; //返回True则继续下一个窗口,否则停止 Result := True;end;procedure TForm1.Button1Click(Sender: TObject);var List: TStrings;begin List := Memo1.Lines; EnumWindows(@EnumWndProc, Integer(List));end;