findwindow的问题,高手帮忙!(50分)

  • 主题发起人 主题发起人 whaoye
  • 开始时间 开始时间
W

whaoye

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp; 我用findwindow的时候,一般都只能找到顶级的窗口,但是有的时候,需要<br>找到一些子窗口的句柄,比如说ie的地址栏,findwindow好象就不灵光了,该<br>怎么做呢,是不是有什么其他的函数,我用findwindowex的时候,是不是只能找<br>一级自窗体?反正我是没有用这个函数找出ie的地址栏的句柄。<br>&nbsp; &nbsp;我用spy++看了一看,这个是地址栏的一些情况。----&gt;表示parent<br><br>CLASS:EDIT------&gt;COMBOBOX-----&gt;COMBOBOXEX32-----&gt;REBARWINDOW32-----&gt;WORKERW-----&gt;IEFRAME<br><br>要用什么函数,就可以一次找到对应的句柄呢?
 
FindWindowEx
 
//首先找到父窗体<br>ParentFormHandle:=findwindow();<br>//父窗体的第一个子窗体<br>FirstChildWindowHandle:=getWindow(ParentFormHandle,GW_CHILD);<br>//if have second child form<br>SecondChildWindowHandle := getwindow(FirstChildWindowHandle,GW_HWNDNEXT);<br>...<br><br>//子窗体的子窗体<br>getWindow(FirstChildWindowHandle,GW_CHILD)<br><br>//以次类推<br>
 
sharkHun的方法应该可以实现。
 
BOOL EnumChildWindows(<br>&nbsp; &nbsp; HWND hWndParent, // handle to parent window<br>&nbsp; &nbsp; WNDENUMPROC lpEnumFunc, // pointer to callback function<br>&nbsp; &nbsp; LPARAM lParam // application-defined value<br>&nbsp; &nbsp;); <br>//你获得了这个父窗体句柄后,再用这个枚举这个父窗体的字窗体。<br>&nbsp;
 
接受答案
 
后退
顶部