我做了一个东西用来在CS游戏中瞄准的 钩子程序 我想在游戏里能够锁定一个位子 有人过来就可以自动的开枪  开枪我是用的模拟鼠标左键的函数 mouse_envent() 但是不知道为什么 没有效果?  大家还有什么好的主意 帮帮忙啊~!

解决方案 »

  1.   

    mouse_event()就应该可以
    你再用SendInput()看看
      

  2.   

    我做过一个相同的东西,
    也是用的mouse_event,
    很好用。
    还做过一个CS的透视作弊器。可以透视一切。用API钩子。
      

  3.   

    哈哈 我做过模拟奇迹的鼠标左键 你加个Sleep(50)试试
      

  4.   

    to: lzzqqq(Jonersen) 
        能不能把你做的程序给我一份,我想参考一下,谢谢!e_mail:[email protected]
      

  5.   

    好的我把代码改一下再发给你 
    我的想法比较简单:
      在CS 运行之前 先把自己程序打开 进去后在切换出来打开 太麻烦 而且有时候 会切换不回去 这个时候最好是买把狙 对准一个你认为有可能有 enemy 过来的位置 按下 键盘上的 Caps Lock键 就可以开始挂钩 这个时候开始读出 屏幕上瞄准的那个位置9个点的像素信息 
    .   .   .
    .   .   .
    .   .   .
    象上面那样点于点之间有 6个像素的间隔 我在开一个线程监视 那个位置的 9个点如果有 ENEMY 来就自动的将鼠标移到原来的那 读出像素点的位置 然后开枪
      大家还什么好的想法啊 还有我上面的那个问题现在还没有解决。
      

  6.   

    lzzqqq(Jonersen)  可不可以把你的CS的透视作弊器代码发给我一份 [email protected]
      

  7.   

    我也想要呀
       在学习VC中
     能给我也寄份吗?
     谢了先 [email protected]
      

  8.   

    我也想要,我在做一个模拟的软件,
    能不能也给我寄份?
    [email protected]
    我先在这里谢过了!!!
      

  9.   

    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    这两行代码就能实现模拟按下鼠标左键,我测试过没问题。
      

  10.   

    可是在我在玩CS 和 在FIFA2000 里面 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 这两个函数不顶用~!我也不知道 
    你是说的测试过 是在CS游戏里测试的吗??
      

  11.   

    没错, mouse_event 在CS 中失效, 至少我做过的也是这样(相同的代码,对其它一些游戏有效)分析: CS 采用 DirectInput 控制输入, 所以 API 失去作用, keybd_event 也是如此
      

  12.   

    DirectInput 有没有类似 mouse_envent 函数的 鼠标模拟事件啊! 如果我想在 CS中能够模拟鼠标事件该 怎么做呢 ?
      

  13.   

    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    这样当然没用 我在奇迹和别的游戏都没用 只有
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    Sleep(50)
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    这样才行 不然游戏不能接受到
      

  14.   

    是啊 DirectInput不应该连钩子都忽略了吧
      

  15.   

    各位大侠,我用keybd_event在2000下好用,怎么在xp下不行呀,我想换sendInput函数,晕死人,vc6.0说SendInput未定义,INPUT结构也未定义,但winuser.h里定义了,我也包含头文件啦,就是编译错误,哪位大侠帮帮忙,怎么回事呀?我都气晕啦
      

  16.   

    果然如 42252343 所说的 
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    Sleep(50)
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    的确是好使。
    我在FIFA里测试了一下 的确是应该写成
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    Sleep(50)
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    而不应该写成
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    在CS里面不知道是怎么回事 我是了一下还没成功
      

  17.   

    如楼上分析,CS用到了DirectInput来实现鼠标和键盘的输入。
      

  18.   

    无名指:没定义肯定是因为那个定义是个条件编译,通常是
    WinVer之类的宏 必须大于或等于某个值
    仔细看看winuser.h
    在包含他之前加上相应的宏就可以了
      

  19.   

    这就奇怪了,我用的如下代码发送消息成功:
    LRESULT _declspec(dllexport) CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
    if (g_fIsInstalled)
    {
    if((HIWORD(lParam) & KF_UP) == 0 && nCode==HC_ACTION)
    {
    if(wKey == g_nHotKey)//是热键
    {
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    return NULL;
    }
    }
    }
        LRESULT RetVal = CallNextHookEx(g_hKeyHook, nCode, wParam, lParam );
        return  RetVal;
    }p4配置,xp系统, vc6.0, cs1.5中测试没问题。很奇怪,为什么大家都说不好使,在我这里为什么好用?
      

  20.   

    还有,在奇迹里面我也曾经测试过,也没问题。(再补充一次,测试都是在键盘钩子里面调用的mouse_event(),不知道有没有关系)
      

  21.   


    TO : an_bachelor(一個單身漢) ( ) 信誉:97  
    谢谢你,我的问题解决,应该包含头文件winable.h但是,发出的键盘消息没响应,呵呵,郁闷
      

  22.   

    To:lzzqqq(Jonersen)
    能否给我也发一份,万分感谢。
    [email protected]
      

  23.   

    To:lzzqqq(Jonersen)
    给小弟一份吧,俺也很想要的,正在学习中但是一直找不到例子 呵呵
    [email protected]