如果用 sendmessage 实现下面的功能目的:控制另一个程序的按钮程序P1 控制 程序 P2 P1 中使用线程S1 完成P2的一些操作P2 主窗口 F1 ,有按钮 A1,A2,A3。 Tcheckbox控件 T1 单击T1如果是选中,则弹出F2
窗口 F2 有按钮 B1,B2 ,单击 B2 (确定) F2关闭
窗口 F3现要在 P1 程序的 S1 依次 关闭F3 选中 T1,让P2弹出 F2,然后 单击 B1,B2 回到 F1, 单击 A1,A2,A3。 这里所有按钮都要完成一些工作,当然完成这个循环后,程序P2 会弹出一个窗口F3, F3弹出后用Hook 钩到了,再一次执行线程,如此循环三次我现在得到了所以按钮的句柄,矩阵坐标,但是当循环到第二次的时候,B1,B2,A1,A2 A3 的单击不成功,只是按钮那个地方动了一下,并没有执行相应的工作。我是用 sendmessage(h1,wm_Lbuttondown,1,0);
sleep(10);
sendmessage(h1,wm_Lbuttonup,1,0);网上有说要取 按钮的ID ?搞不懂ID是个什么东东,不知是不是句柄,除了sendmessage(h1,wm_Lbuttonup,1,0);
有没有其他方法,最好有实例,谢谢。
窗口 F2 有按钮 B1,B2 ,单击 B2 (确定) F2关闭
窗口 F3现要在 P1 程序的 S1 依次 关闭F3 选中 T1,让P2弹出 F2,然后 单击 B1,B2 回到 F1, 单击 A1,A2,A3。 这里所有按钮都要完成一些工作,当然完成这个循环后,程序P2 会弹出一个窗口F3, F3弹出后用Hook 钩到了,再一次执行线程,如此循环三次我现在得到了所以按钮的句柄,矩阵坐标,但是当循环到第二次的时候,B1,B2,A1,A2 A3 的单击不成功,只是按钮那个地方动了一下,并没有执行相应的工作。我是用 sendmessage(h1,wm_Lbuttondown,1,0);
sleep(10);
sendmessage(h1,wm_Lbuttonup,1,0);网上有说要取 按钮的ID ?搞不懂ID是个什么东东,不知是不是句柄,除了sendmessage(h1,wm_Lbuttonup,1,0);
有没有其他方法,最好有实例,谢谢。
解决方案 »
- CodeSite中的AddCheckPoint有什么用?
- 发个牢骚,不安份的国庆...
- 帮帮忙.......关于图片动态缩放显示的问题
- 鼠标点击Panel时,如何取得该点在panel对应的坐标
- Object Pascal’s Language Guide 求救
- 有没好的SQL语句实现如下功能
- 请问Access中Memo字段怎么显示?
- 怎样在dbgrid中新增一行和插入一行?
- 原创:原子钟对时器1.0 与internet原子钟校对计算机时间。
- 多少分都给:如何操作WebBrowser的缓冲区,即对目录Temporary Internet Files中文件添加删除等??急急!!!(
- DELPHI SPCOMM 当发送16进制数组时
- delphi调用U8登陆信息
SENDmessage(h,WM_COMMAND,MAKELONG(GETDLGCTRLID(H1),BN_CLICKED),0);晕,我是上夜班的,要晚上才有得测试,累啊
还有,句柄在不同的程序实例中都是不同的,因此SendMessage应该发给ID而不是句柄。
要不,你就用FindWindow或FindWindowEx得到控件句柄,然后发给他
在发送失败的时候,那些控件的句柄都没变。搞不懂,
对了,谢谢你前天的回答,那个stringGrid 坐标应该是相对坐标,不是屏幕坐标