SendMessage(Ghwnd, WM_MOUSEMOVE,MK_LBUTTON,MAKELPARAM(370,300));
sleep(500);
SendMessage(Ghwnd, WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(370,300));
sleep(500);
上面的两句代码,我测试的时候,第一句可以运行,鼠标可以移动到我要的位置
为什么第二个运行不了,不能实现点击的效果..我需要在一款游戏中模拟鼠标操作,希望是可以在后面进行..
sleep(500);
SendMessage(Ghwnd, WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(370,300));
sleep(500);
上面的两句代码,我测试的时候,第一句可以运行,鼠标可以移动到我要的位置
为什么第二个运行不了,不能实现点击的效果..我需要在一款游戏中模拟鼠标操作,希望是可以在后面进行..
SendMessage(Ghwnd, WM_LBUTTONUP,MK_LBUTTON,MAKELONG(370,300));
应该是这个问题,我昨天给一个button发点击消息,就因为没发WM_LBUTTONUP而实现不了,在WM_LBUTTONDOWN后面是要跟一个WM_LBUTTONUP
sendmessage和postmessage的区别
前者,等待目标程序响应结束才返回你的程序继续执行,
后者发送后,不等待目标程序是否响应以及响应是否结束SendMessage(Ghwnd, WM_MOUSEMOVE,MK_LBUTTON,MAKELPARAM(370,300));
sleep(500);
SendMessage(Ghwnd, WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(370,300));
sleep(500);看你的意思,好像是说先移动到370,300点,然后在该位置点击一次鼠标。
SendMessage(Ghwnd, WM_MOUSEMOVE,MK_LBUTTON,MAKELPARAM(370,300));
sleep(500);
PostMessage(Ghwnd, BM_CLICK, 0, 1);
这样试试。
或者
SendMessage(Ghwnd, WM_MOUSEMOVE,MK_LBUTTON,MAKELPARAM(370,300));
sleep(500);
PostMessage(Ghwnd, WM_LBUTTONDOWN, 0, 1);
PostMessage(Ghwnd, WM_LBUTTONUP, 0, 1);
BM_CLICKED,用不着发送鼠标按下,鼠标弹起的消息对。
有点意思,等待最终答案,