今天幫一個哥們弄的查找無標題窗體上的控件句柄的代碼

var
  lst:TStringList;

{$R *.dfm}

function EnumWndProc(AWnd: HWND; AlParam: LPARAM):Boolean;stdcall;
var
  WndCaption: array[0..254] of Char;
  str:string;
begin
  GetWindowText(AWnd, @WndCaption, 254);
  if WndCaption[0]<>chr(0) then
  begin
    str:=Trim(string(WndCaption));
    if str='Form1' then
    begin
      lst.Add(IntToStr(AWnd));
      Form1.ListBox1.Items.Add(Format('%d  =  %s',[AWnd,StrPas(WndCaption)]));
    end;
  end;
  Result := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  h:Thandle;
  i:integer;
begin
  lst:=TStringList.Create;
  try
    EnumWindows(@EnumWndProc,0);
    for i:=0 to lst.Count-1 do
    begin
      h:=FindWindowEx(strtoint(lst.Strings[i]),0,'Tpanel',nil);
      if h>0 then
      begin
        ShowMessage(IntToStr(h));
      end;
    end;
  finally
    lst.Free;
  end;
end;
 
發佈了94 篇原創文章 · 獲贊 6 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章