C# 调用API向游戏发送键盘信息无效,SendMessage,PostMessage都不行,但用相同方法做成按键精灵的插件,用按键精灵执行就行。怎么回事?

解决方案 »

  1.   

    不用keybd_event不能实现后台操作
      

  2.   

    你的表达有问题?不太明白你什么意思
    1.换句话说,只有用了keybd_event,才能实现后台操作(那你就用呗)
    2.不能用keybd_event,因为它不能实现后台操作
      

  3.   

    哈,你算是等到人了,上面所说的方法对于现在的网络游戏通通没用,因为游戏都把这个API操作的函数给钩掉了,如果要后台操作就要用到CALL,也就是现在游戏内挂普遍用的方法,具体的方法可以去“广海游戏论坛”学习,保证你会收获很大!·
      

  4.   

    发的数据不对导致的,很多游戏使用directinput读用户输入,所以用sendmessage发VK没用,而是要发directinput定义的scancode。
      

  5.   

    按键精灵不是用的 SendMessage,而是用的 keybd_event我原来写大话外挂的时候就是用的 keybd_event而你说的不能实现后台操作不知道是什么意思
      

  6.   

    我明白了,你说的后台操作是否就是当游戏窗口最小化的时候也能用外挂来操作? 
    现在的游戏基本上都防止了这种外挂行为,所以建议你还是在激活游戏的情况下用 keybd_event 来操作,不要走弯路了
      

  7.   

    先搞清楚什么是CALL,就可以做后台的挂了! keybd_event 这个API函数是针对当前窗口才有用的,而且很多游戏都已经钩掉这个API函数了,你必需先把游戏用OD反汇编,然后调试找到相应功能的入口地址,再用写内存,远程启动线程的方法实现后台操作!举个例子:比如游戏里面有个功能是发技能功能,那么这个功能游戏一定是写成一个函数形式的,所以你只要调试找到这个函数的入口地址以及相应的汇编码就可以用远程线程的方法调用这个功能!
      

  8.   

    再提示一下,CALL的方法不同于封包的方法,所以被封号的可能性也极小,但这种方法做不出变态挂,只能做做一般的挂机功能!
      

  9.   

    按键精灵也不一定是用到keybd_event ,因为很多游戏钩掉了这个函数,它应该是针对不同的游戏做好了不同的CALL调用的!
      

  10.   

    按键精灵有向非前台窗口发送按键功能。windows插件
      

  11.   

    keybd_event通用性大.很多游戏是防止SendMessage,PostMessage这类消息的.
      

  12.   

    按键精灵有向非前台窗口发送按键功能。windows插件我就是要在程序里实现这功能