上图是在QQ游戏-火拼泡泡龙游戏里用spy捕获的消息  目的是为了用sendmessage或postmessage点击或快捷键F2让游戏中的玩家准备代码如下 pWnd->PostMessage(WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(756,549));
pWnd->PostMessage(WM_LBUTTONUP,MK_LBUTTON,MAKELPARAM(756,549));
  pWnd->PostMessage(WM_KEYDOWN,VK_F2,0);
  pWnd->PostMessage(WM_KEYUP,VK_F2,0);(pWnd是游戏窗口)
我试过pWnd->ShowWindow(SW_HIDE) SW_SHOW都可以正常响应。不管怎么发,spy里发现游戏窗口收不到我发的消息,但如果我将焦点设置过去也就是在发消息之前
pWnd->SetForegroundWindow();
那就可以响应问题就在这里,我觉得根本不需要设置焦点,因为我在网上下了一个免费的泡泡龙刷分工具
发现他不停的向窗口发送单击消息,单击位置和我发的一样 也是x756 y549
他也没设置焦点 我也没看到窗口收到焦点信息  但是游戏窗口就是可以响应很奇怪,而且那个免费工具开始刷分后 我发现我移动不了游戏窗口 也点击不了游戏窗口里的控件
那个免费工具就是在不停的进行单击开始按钮那里的操作他是怎么实现的,为什么我发过去就不管用,他就可以?
~
求解~~~~~~各位大神。帮帮忙分析一下~~~~

解决方案 »

  1.   

    tree(。)  15:46:08
    我记得以前也遇到过这样的问题
    tree(。)  15:47:47
    BCB 可以有个api将窗口句柄转化成另外一个值。 发消息给这个转化后的值才能相应。
    tree(。)  15:48:24
    发消息给spy++得到的句柄 是不行的。。 我查下这个api 不知道VC里面有木有
    tree(。)  15:53:25
    以前也是做过一个模拟程序 发消息给一个主窗口 让他执行按钮点击事件 但是也是不能执行。 后来看了那个源码 是转化了的。至于怎么转化 我忘了。很久之前的事情了。提供是一个思路。可能对你有用! i am tree. 你懂的!!
      

  2.   

    不过还是有方法的。 你可以直接用mouse_event。
      

  3.   

    yulongying是tree啊,呵呵mouse_event不可取 他会影响其他操作 所以才想办法用sengmsg和postmsg的谢谢tree提供的思路 我去研究一下
      

  4.   

    找到40230的窗口,直接发 message=0x7e8 wParam=0x10的消息呢?
      

  5.   

    貌似你发了几次了吧,得到HWND窗口句柄,直接PostMessage() WM_KEYDOWN不行吗? syp++收不到吗?