vc postmessage 模拟鼠标点击问题 很奇怪,很无奈,很严重 请大家帮忙看看
各位大神,我做了个模拟鼠标点击的东东,原理是通过WH_MOUSE_LL钩子抓取系统中的鼠标WM_LBUTTONDOWN 和 WM_LBUTTONUP消息并把这些数据记录下来了。 然后在回放的时候开了个线程不断读取这些记录的消息数据并通过//发送事件
::PostMessage(GetNowGameHwnd(),m_verMouseEvt[i]->GetMessage(),0,MAKELPARAM(pt.x,pt.y));
m_verMouseEvt是保持消息数据的自定义类。
通过它可以正确把消息发送到相应的窗体上,效果也都OK,但是有个问题,就是每次执行这一句话的时候系统鼠标焦点就会被抢掉。
求大神指点!!!!!
感激不尽。~
1.在A窗口上面点击 Start进行录制
2.在B窗口上随便点击下
3.点击A窗口上的Stop停止录制
4.点击A窗口上的Replay进行回放,这个时候会向B窗口PostMessage刚才录制的鼠标消息。
5.点击replay之后拖动A窗口不停的移动它,你会发现在它向B窗口PostMssage的时候鼠标焦点被抢掉了。
这个问题困扰我很久了,一直没有解决。我把代码传到网盘上了,希望有高手帮忙看看 http://pan.baidu.com/s/1jGA003G