用FindWindowExA查找不到子窗口!获取不到句柄怎么办呢?

解决方案 »

  1.   

    游戏运行都是由DirectX在后台处理,不能简单的获得句柄然后SendKey
    用Delphi应该可以,VB也行,去问问金山游侠的开发组
      

  2.   

    似乎要用DirectInput函数的。Sendkeys的等级还太高,不能取得效果。而且游戏不采用Windows的普通事件驱动机制,一般用SendMessage都是没有用的。
      

  3.   

    如果你想在游戏运行期间发送按键,那么可以查找顶层窗体
    这个窗体就是游戏的窗体了:
    Private Declare Function GetForegroundWindow Lib "user32" () As LongDim rc As LongPrivate Sub Timer1_Timer()
        rc = GetForegroundWindow 'rc便是当前窗体的句柄
    End Sub
      

  4.   

    //有没有别的办法呀!我只想向游戏里面的编辑框发送文本!如果只是这样,那我有一个好的方法:1,得到当前光标处控件的句柄2,用SendMessage发送相关文本    至于怎样得到当前光标处控件的句柄,我的方法如下:1,使用GetForegroundWindow得到当前活动窗口的句柄,这个句柄在游戏时,就是游戏窗口的句柄;2,使用AttachThreadInput让输入队列进入共享状态3,这时,使用GetFocus得到拥有输入焦点控件的句柄4,再次使用AttachThreadInput取消队列共享               至此,已经成功地取得了当前拥有输入焦点的控件(不管是不是本程序的)的句柄了一旦知道了句柄,其它都好办了,不是吗?     希望对你有帮助.
      

  5.   

    对于游戏的修改,要进入该控制内存才行.
    你所看到的都是绘制的效果,不会是一个对象,如textbox,所以你无法获得hwnd.
      

  6.   

    老兄
    你的问题已经被很多人解决了
    推荐:http://www.5dai.com
    游戏外挂制作第一关就是解决你的问题
    sendmessage是无效的