本人偿试编写一个QQ游戏的抢房间器,但每次发送消息,却没有达到理想效果,请教达人了。
GetCursorPos(&m_CurMousePoint); //mouse current position!
m_CurWinHandle=::WindowFromPoint(m_CurMousePoint); //当前窗口句柄
::SendMessage(m_CurWinHandle,WM_LBUTTONDOWN,NULL,MAKELPARAM(m_CurMousePoint.x,m_CurMousePoint.y));
//这句话老是达不到效果,只要你一动鼠标,它进的房间就跟着鼠标位置跑,好象传过去的m_CurMousePoint没有用的一样。
为了验证:
我把m_CurMousePoint改为SPY++截获的数值:
::SendMessage(m_CurWinHandle,WM_LBUTTONDOWN,NULL,MAKELPARAM(115,85));
结果还是跟着鼠标跑。
狂晕中,
于是改为:
::SendMessage(m_CurWinHandle,WM_LBUTTONDOWN,NULL,0);
还是跟着鼠标跑。
好象传过去的鼠标位置参数没作用一样。但这样不可能呀,QQ游戏都是看你点哪个房间就进哪个房间的呀?
百思不得其解,愿闻各位达人详解。
本人菜鸟,学习中

解决方案 »

  1.   

    再发一个::SendMessage(m_CurWinHandle,WM_LBUTTONUP,NULL,m_CurMousePoint.x,m_CurMousePoint.y)试试看
      

  2.   

    点击的话是BM_CLICK
    WM_LBUTTONDOWN只是按下而已,并没有弹起
      

  3.   

    不是的,我把你们各种方法都试了一次。
    因为这个平台是WM_LBUTTONDOWN事件就开始进房间,如果你用BM_CLICK,它一点反应也没有。
    结果还是跟着鼠标跑,真奇怪!
      

  4.   

    好像有一个鼠标事件的函数,记不清名字了,可能是mouseevent
      

  5.   

    mouseevent也是可以的,但要你的鼠标不能动,模拟鼠标的动作罢了。这不是理想的!我想用WINDOWS的消息来实现