Z zhaozhe Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #1 1用findwindow找到应用程序的句丙,如何找到指定控件的handle?<br>2找到后sendmessage的参数怎么写(比如一个button的单击事件)?
Z zealothasu Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #2 1.应该直接找指定控件的handle<br><br>2.sendmessage(buttonhandle, WM_LBUTTONDOWN, 0, 0)<br> sendmessage(buttonhandle, WM_LBUTTONUP, 0, 0)
1.应该直接找指定控件的handle<br><br>2.sendmessage(buttonhandle, WM_LBUTTONDOWN, 0, 0)<br> sendmessage(buttonhandle, WM_LBUTTONUP, 0, 0)
轻 轻舞肥羊 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #3 1.<br>function EnumChildProc(AHWnd: HWnd; lp:lParam):boolean; stdcall;<br>//回调过程,枚举子窗口<br>begin<br> //这里的AHwnd就是子窗口的句柄,下面递归回调<br> EnumChildWindows(AHWnd,@EnumChildProc,1);<br> Result := True;<br>end;<br><br> h := FindWindow(nil,'C:/');<br> EnumChildWindows(h,@EnumChildProc,0);<br><br>2.<br> SendMessage(Handle,BM_CLICK,0,0); //目标必须为Button
1.<br>function EnumChildProc(AHWnd: HWnd; lp:lParam):boolean; stdcall;<br>//回调过程,枚举子窗口<br>begin<br> //这里的AHwnd就是子窗口的句柄,下面递归回调<br> EnumChildWindows(AHWnd,@EnumChildProc,1);<br> Result := True;<br>end;<br><br> h := FindWindow(nil,'C:/');<br> EnumChildWindows(h,@EnumChildProc,0);<br><br>2.<br> SendMessage(Handle,BM_CLICK,0,0); //目标必须为Button
Z zhaozhe Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #4 还是有点不明白,怎样找到找指定控件的handle呢?<br>
Z zhaozhe Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #5 EnumChildWindows(AHWnd,@EnumChildProc,1);//这句校验语法错了
轻 轻舞肥羊 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #6 上面的代码是我下面工具中的源码,不会错的<br><br>如果仅是查找某一个子控件,可以用FindWindowEx,参考WIN32API<br>它可以根据顺序查找,只要程序没改变,其控件的顺序是不变的,<br>可以用SPY++查找类名以区分类别,另外下面这个工具有比SPY++方便的功能<br>http://hbcrc.onlinedown.net/down/WindowView.zip<br>熟练使用FindWindow,FindWindowEx,EnumChildWindows,SendMessage,PostMessage<br>这几个API,就能很好的控制外部应用程序了<br>最难的是WINDOWS的消息,实在是太多了,慢慢啃吧....
上面的代码是我下面工具中的源码,不会错的<br><br>如果仅是查找某一个子控件,可以用FindWindowEx,参考WIN32API<br>它可以根据顺序查找,只要程序没改变,其控件的顺序是不变的,<br>可以用SPY++查找类名以区分类别,另外下面这个工具有比SPY++方便的功能<br>http://hbcrc.onlinedown.net/down/WindowView.zip<br>熟练使用FindWindow,FindWindowEx,EnumChildWindows,SendMessage,PostMessage<br>这几个API,就能很好的控制外部应用程序了<br>最难的是WINDOWS的消息,实在是太多了,慢慢啃吧....
Z zhaozhe Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #7 谢谢轻舞肥羊啦,我的问题解决啦,你是我的偶像啊。<br>非常感谢!可不可以留个QQ啊?