如何向某个程序发送鼠标点击事件啊!请大家帮忙! ( 积分: 100 )

  • 主题发起人 主题发起人 mt
  • 开始时间 开始时间
M

mt

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用编程实现对一个程序的某个坐标点发送鼠标点击事件 但实际并不让鼠标真正动作<br>只是想让那个程序得到在程序上的某个坐标点按过鼠标了<br>不知道应该使用什么函数 或 怎么实现<br>希望大家能给个实例 谢谢大家了
 
我想用编程实现对一个程序的某个坐标点发送鼠标点击事件 但实际并不让鼠标真正动作<br>只是想让那个程序得到在程序上的某个坐标点按过鼠标了<br>不知道应该使用什么函数 或 怎么实现<br>希望大家能给个实例 谢谢大家了
 
用FindWindow函數先得到目標程序的窗體句柄;然后發送點擊消息。<br>比如:<br>var H: HWND:<br>begin<br> &nbsp; &nbsp;H := FindWindow('TForm1','Form1');<br> &nbsp; &nbsp;if H &gt; 0 then<br> &nbsp; &nbsp; &nbsp;SendMessage(H,WM_LBUTTONDOWN,0,0);<br>end;
 
谢谢楼上 我主要是想让另一个程序 接收鼠标点击消息 让它自动运行某个功能<br>也就是在那个程序上模拟点击某几个坐标 但实际真正的鼠标并没有动作
 
SetCursorPos(StrToInt(X),StrToInt(Y));//将光标放置在X,Y处<br>mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//模拟按下鼠标左键 <br>mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);//模拟 抬起鼠标左键<br>恩 应该差不多了 楼主自己试一下吧 有问题在讨论 呵呵
 
谢谢 楼上 我的意思是 让某个程序执行他的鼠标点击事件但是 真正的鼠标并不动作<br>楼上的 方法鼠标是会动的
 
你在移动之前先把原来的鼠标坐标保存起来,点击完再恢复啊
 
或者找到你要点击的按钮,给它发消息postmessage()WM_MOUSEMOVE,和点击的消息
 
发送WM_LBUTTONDOWN,X、Y坐标按目标窗口的客户区计算<br>注意,是直接投递到最底层控件上,如点按钮就要用该按钮的HANDLE,而不能用父窗口的<br><br>不成功的话,试试在发送此消息先发送WM_ACTIVATE给该窗口
 
发送广播消息吧,你这个问题涉及进程通信了,有些复杂。
 
关注!<br>模拟鼠标点击都是要将鼠标置于特定坐标点上进行的。<br>你可以试试用这个函数找到该点的控件,再做处理(发消息给它):<br>function FindVCLWindow(const Pos :TPoint);TWinControl;
 

Similar threads

后退
顶部