如何能像某个程序发送鼠标和键盘消息请大家帮忙 ( 积分: 200 )

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

mt

Unregistered / Unconfirmed
GUEST, unregistred user!
我想像某个程序发送鼠标键盘消息 模拟真实操作 但是那个程序是处于最小华的 请大家帮忙给个函数或示例 谢谢了
 
keybd_event(VK_LEFT,&nbsp;0,&nbsp;0,&nbsp;0);<br>keybd_event(VK_LEFT,&nbsp;0,&nbsp;KEYEVENTF_KEYUP,&nbsp;0);
 
只是向某个程序发送消息&nbsp;但是不想让鼠标键盘真实动作&nbsp;而且那个程序是处于最小化的<br>谢谢楼上支持&nbsp;希望大家帮忙解答一下
 
找到处于最小化窗口的句柄,<br>SendMessage&nbsp;不就可以了吗
 
说的详细些好吗&nbsp;我得到那个程序的句柄&nbsp;但是需要那个程序是当前窗口&nbsp;还需要模拟鼠标键盘动作才能控制它&nbsp;我想只向那个程序发送消息&nbsp;就是让那个程序在某个坐标点上坐点击鼠标左键或右键但是实际我的鼠标并没动作
 
用消息吧
 
用SendMessage(HWND&nbsp;hWnd,UINT&nbsp;Msg,WPARAM&nbsp;wParam,LPARAM&nbsp;IParam);<br>HWND是你要发送到的句柄<br>Msg是具体消息,比如:一个窗口被激活或失去激活状态Msg:=WM_SETFOCUS;<br>具体的鼠标按下的消息你再查下
 
学习,帮你顶一下!
 
procedure&nbsp;TfrmMain.BtntestClick(Sender:&nbsp;TObject);<br>var<br>&nbsp;TargetWin:Hwnd;<br>&nbsp;btnhwnd:Hwnd;<br>begin<br>&nbsp;&nbsp;&nbsp;TargetWin:=FindWindow(nil,'Form1');<br>&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;TargetWin=&nbsp;0&nbsp;then&nbsp;exit;<br>&nbsp;&nbsp;&nbsp;btnhwnd:=&nbsp;FindWindowEx(TargetWin,0,'Tbutton','button1');<br>&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;btnhwnd=0&nbsp;then&nbsp;exit;<br>&nbsp;&nbsp;&nbsp;&nbsp;sendMessage(btnhwnd,WM_LBUTTONDOWN,0,0);<br>&nbsp;&nbsp;&nbsp;&nbsp;sendMessage(btnhwnd,WM_LBUTTONUP,0,0);<br>end;<br>目标窗体里只有一个按钮&nbsp;&nbsp;<br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>begin<br>ShellExecute(0,&nbsp;'Open',&nbsp;'IEXPLORE.EXE',&nbsp;'www.126.com',&nbsp;nil,&nbsp;SW_SHOW);&nbsp;<br>end;<br>这样可以模拟&nbsp;。&nbsp;&nbsp;<br>你可以把鼠标限制在某个区域&nbsp;,在模拟LBUTTONDOWN,WM_LBUTTONUP&nbsp;&nbsp;应该可以的<br><br>不行的话&nbsp;明天在来研究&nbsp;&nbsp;,先回家了
 
模拟发送键盘鼠标消息,需要知道句柄,然后采用sendmessage才可以了。
 
谢谢大家帮忙&nbsp;可能大家还没有理解我的意思<br>我的意思是想控制一个游戏里的人物自动走到某一个坐标<br>【自动走到某一个坐标&nbsp;需要鼠标点到那里】&nbsp;<br>我想让那个程序只接收到鼠标点击那个坐标的消息&nbsp;但是实际鼠标不发生动作&nbsp;我们还是可以正常使用鼠标作别的事情
 
这个问题得先用钩子对所有鼠标键盘的动作有响应,然后记录和发送就简单了
 
先要看目标程序是否处理按键和鼠标消息,是的话可以用PostMessage(hWnd,&nbsp;WM_KEYDOWN,&nbsp;WPARAM,&nbsp;LPARAM)和WM_KEYUP
 
后退
顶部