Delphi如何获得窗口的名字?

用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;

你可能感兴趣的:(function,list,Integer,Delphi)