可以用Findwondow得到游戏的窗体,但是怎么得到游戏聊天区域的对话框聊天信息?怎么设置聊天的textbox中的信息并发送,以达到模拟游戏用户操作的作用.

解决方案 »

  1.   

    函数模拟
    键盘过滤驱动模式最好的还是寻找函数的功能call,然后直接调用
      

  2.   

    用softice od等调试,然后嵌汇编方式push参数,直接call addr
      

  3.   

    谢谢
    rageliu不过不会汇编有其它曲线救国的方法没有?
      

  4.   

    PostMessage等函数模拟??设置内容,然后模拟回车我一般是嵌汇编调用的游戏自己的call,对于函数模拟,函数有很多,不过有的用了DirectInput的模拟好象不行
      

  5.   

    我现在想用PostMessage,不过DirectInput的游戏里不知道怎么去获取它的对话框,因为都是画上去的,所以用API不一定能够实现,我想的是比较简单,呵呵,你说对了,设置内容,然后模拟回车~就是不知道最后能不能实现了,唉
      

  6.   

    模拟发送,个人感觉最简单的还是 把文本放到剪贴板里,然后模拟ctrl+v键盘动作,和enter发送动作
    mouse_event();//模拟鼠标
    keybd-event();//模拟键盘
      

  7.   

    谢谢:jimoguilai ,但是要考虑如果这个游戏窗口被最小化时也能操作吗>?不可能随时都激活这个窗口吧?哪样的话意义就不大了呀
      

  8.   

    那就再Findwondow之后,使用EnumWindow看看他的子窗口都有哪些,是不是有你要用的
      

  9.   

    窗口的控件类名:TsunAppWnd
    父窗口:None
    子窗口:None
    找不到子窗口
     只能找到它,FindWindow("TsunAppWnd",null)
      

  10.   

    那就再Findwondow之后,使用EnumWindow看看他的子窗口都有哪些,是不是有你要用的
    发粗了,是EnumChildWindows();
      

  11.   

    BOOL CALLBACK EnumChildFunc(HWND hwnd, LPARAM lParam)
    {
    char buf[256] = {0};
    ::GetWindowText(hwnd,buf,256);
    AfxMessageBox(buf);
        return TRUE;
    }
    ::EnumChildWindows(hwnd, (WNDENUMPROC)EnumChildFunc,0);
      

  12.   

    呵呵,这种外挂很好些,直接写内存,call。
      

  13.   

    呵呵,这种外挂很好写,直接写内存,call。
      

  14.   

    jimoguilai:找不到子窗口,呵呵!
    jacklzw88: 对于你们来说EASY,问题我们还未入门啦,呵呵