日期:2014-05-17  浏览次数:21186 次

我想用C#开发一个传奇挖矿外挂.
第一步我想获取,传奇窗口句柄,按一下F9(F9为打开背包功能)

 public IntPtr FindWindow(string title)
        {
            Process[] ps = Process.GetProcesses();
            foreach (Process p in ps)
            {
                if (p.MainWindowTitle.IndexOf(title) != -1)
                {
                    return p.MainWindowHandle;
                }
            }
            return IntPtr.Zero;
        }
 IntPtr mir3 = FindWindow("The Return of Legend");

  WinAPI.SendMessage(mir3, WinAPI.WM_KEYDOWN, 120, 0);
  WinAPI.SendMessage(mir3, WinAPI.WM_KEYUP, 120, 0);


这里的SendMessage为系统函数.
 
 public static int WM_KEYDOWN = 0x100; //键盘按下键
 public static int WM_KEYUP = 0x101;  //键盘弹起键
[DllImport("user32.dll", EntryPoint = "SendMessage")]
        public static extern int SendMessage(
            IntPtr hwnd,
            int wMsg,
            int wParam,
            int lParam
        );

在其它软件中(qq影像)可以现实(测试发送F2按键,F2按键为打开图片信息,可以成功打开图片信息),
可是当我把F9传到传奇句柄的时候没反映.
这里我想问是不是被阻截了?
我想第一步实现的功能很简单.
1,获取传奇对话框句柄(已经得到)
2,像句柄中传虚拟按钮F9打开背包
------最佳解决方案--------------------
试试keybd_event
再不行就试试注入
再不行就试试WinIO.dll




------其他解决方案--------------------
问题就在于 传奇窗口 啊能不能 接收发送的key吧

------其他解决方案--------------------
好久没玩传奇了,曾经让我着迷的游戏呀~~~~~
------其他解决方案--------------------
真不好说!毕竟外挂是不合法的。

当然做技术讨论还是挺有深度研究价值的!
------其他解决方案--------------------
玩过几年传奇的路过
------其他解决方案--------------------
我已经接近8年没玩传奇了,但是我感觉传奇不太会用消息加密这样高深的技术啊。。。
拦截你的F9消息是不可能的,因为你按键的时候就好使,发送消息不好使,有2种可能一种是你代码有问题,
一种就是他在驱动层对你的消息处理了。
------其他解决方案--------------------
很简单的几行代码.我个人觉得不会有问题的.
如果是你说的第二种可能.我应该怎么解决?
我第一步要达到的目的上面已经说 的很清楚了.
------其他解决方案--------------------
有谁能帮帮忙的.
------其他解决方案--------------------
还有人能帮帮忙吗?
------其他解决方案--------------------