//移动到我指定的位置,当前已经在游戏窗口
                  SetCursorPos(x, y); 
                  Thread.Sleep(100);
                    //点击                       
                       mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
                    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
//问题就是点击后没有反应.如果桌面上我的电脑这个图标的坐标为100 100,我的程序能让鼠标移动到100 100然后双击或单击.能打开我的电脑或选中.但是在游戏里单击就是不起作用.是DX游戏.  也就是说不在游戏里的话,程序都没有问题,但在游戏里就只能移动.点击无效.//还有一个很怪的问题.如果游戏窗口不是当前窗口.那么游戏窗口就会是卡起的状态(就是说看到人物没动.这是游戏正常设定).然后我把我的程序设为当前窗口,在启动程序.游戏窗口就变成当前窗口了.问题来了!!如果没点击鼠标左键.游戏怎么会变成当前窗口?如果点击的鼠标左键为什么在游戏里人物又没有动?二个问题相矛盾。在此跪地求解....//初学API 请高手出来指点迷津,在此感激不尽...

解决方案 »

  1.   

    直接发送 WM_LBUTTONDOWN 和 WM_LBUTTONUP 不行么? mouseevent里根本不指定窗口句柄,你怎么知道你的窗口会接收?
      

  2.   

     mouse_event(WM_LBUTTONDOWN , 0, 0, 0, 0);
    mouse_event(WM_LBUTTONUP, 0, 0, 0, 0);
    点击成功!
    不过只是在非游戏窗口的情况下.不知道游戏窗口里行不行.还有就是,怎么让游戏窗口接收我的鼠标事件?在公司没有游戏可以测试,5555
      

  3.   

    //这有一篇文章,我和这个兄弟的问题差不多, 都没有解决
    http://it.wfanc.com/htm/200607043/89786.html
    //如果网页打不开,就到google输入"怎样真正模拟按下鼠标键,看完详细再回~"搜索就有了
      

  4.   

    mouse_event(WM_LBUTTONDOWN   ,   0,   0,   0,   0); 
    mouse_event(WM_LBUTTONUP,   0,   0,   0,   0); 
    点击成功! 
    不过只是在非游戏窗口的情况下.不知道游戏窗口里行不行.还有就是,怎么让游戏窗口接收我的鼠标事件?在公司没有游戏可以测试,5555