可以抓出目前所有視窗的標題列

delphi用法

function EW1(h: HWND; Alparam: LPARAM): Boolean; Stdcall;

VAR s: array[0..254] of char;

begin

  if IsWindowVisible(h) then begin
    GetWindowText(h, @s, 255);
    Form1.ListBox1.Items.Add(StrPas(@s))    

    //不知為何這行在delphi XE7無法通過 要改成  Form1.ListBox1.Items.Add(s)
  end;
  Result := True;
end;

 

或使用ClassName抓

function EW1(h: HWND; Alparam: LPARAM): Boolean; Stdcall;
var c:array[0..254]of char;
begin
  getclassname(h,c,255);
  //Form1.LineHwnd.Append(c);
  if Pos('classname',c)>0 then   //所有視窗 Handle 儲存到List
    list.Append(inttostr(h));
  Result := True;
end;

 

使用

EnumWindows(@EW1, 0);

arrow
arrow
    文章標籤
    Windows API EnumWindows
    全站熱搜
    創作者介紹
    創作者 抓狂小白 的頭像
    抓狂小白

    抓狂小白的程式筆記

    抓狂小白 發表在 痞客邦 留言(0) 人氣()