PageControls里的TAB是不是有窗口HANDLE(100分)

  • 主题发起人 主题发起人 jamescjm
  • 开始时间 开始时间
J

jamescjm

Unregistered / Unconfirmed
GUEST, unregistred user!
我用HOOK给PageControls发信息,当为活动TABSHEET时,能收到信息,可另外TAB活动时,我用任何工具找不到它的HANDLE
 
不会吧,<br>你用了什么工具呢???<br>我怎么都可以看到呢,<br>呵呵~~~~~~~~~~~~~~~~`
 
只要是继承自TwinControl类的控件都有Handle属性!
 
PageControl1.Pages.Handle ;
 
PageControl1.ActivePage.Handle
 
如在程序中当然简单,我实在hook中搜索HANDLE ,再修循环搜索子句柄。
 
是不是被窗体截获了
 
下面的代码可以找到另一个程序中PageControls的tab的handle<br>function EnumChildProc(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;<br>var<br>wtext: Array[0..255] of Char;<br>begin<br>Getclassname(hwnd, @wtext, 255);<br>if SameText(wtext, 'TTabSheet') then &nbsp;<br>begin<br>&nbsp; getwindowtext(hwnd, @wtext, 255);<br>&nbsp; showmessage(strpas(wtext));<br>end;<br>Result := True;<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>whandle:hwnd;<br>begin<br>&nbsp; whandle:=findwindow(nil,'formmain'); <br>&nbsp; if whandle=0 then<br>&nbsp; &nbsp; showmessage('window not find')<br>&nbsp; else<br>&nbsp; &nbsp; EnumChildWindows(whandle,@EnumChildProc,0);<br>end;
 
多人接受答案了。
 
后退
顶部