我想点击"进入游戏"这个按钮,但可能这个按钮是绘画出来的,所以只有激活状态,并没有点中
代码是:HWND hwnd=FindWindow("CJsh",NULL); //获取游戏窗口句柄
SendMessage(hwnd,WM_LBUTTONDOWN,0,MAKELPARAM(861,700));
SendMessage(hwnd,WM_LBUTTONUP,0,MAKELPARAM(861,700));
我用这个"鼠标FLASH软件"http://www.onlinedown.net/soft/35464.htm录制的就可以点击!!
作者说他是用mouse_event写出来的,很普通的鼠标录制器但我在C++里用mouse_event,也是点不了,请问有什么办法可以解决吗???

解决方案 »

  1.   

    HWND hwnd=FindWindow("CJsh",NULL); //获取游戏窗口句柄
    你获取的是游戏窗口的句柄,对它进行模拟点击当然没反应.找到那个按钮的Hwnd然后PostMessage,WM_LBUTTONUP就可以
      

  2.   

    CRect::PtInRect 
    点击后往上贴选中后的按钮图片
      

  3.   

    回2楼的大哥可能这窗口是绘画的,所以用spy++只能获得窗口的信息,获取不到按钮的信息!
      

  4.   

    你的方法应该是可以的,很可能是MAKELPARAM的参数不对.要传递屏幕坐标,而且有局限性,比如窗口大小改变后原来的鼠标坐标点就错误了.
      

  5.   

    你需要自己计算出该按钮的坐标,然后模拟点击mouse_event/SendInput()
      

  6.   

    回5楼的大哥!SendInput是可行的,但它是前台的,执行的时候会影响我们!
    请问有类似SendInput的后台模拟鼠标键盘的API吗??