king0000 发表于 2009-8-15 19:32:31

关于网络游戏窗口的问题。

请问,在不激活指定网络游戏窗口的情况下,如何向游戏里发送按键命令?

附:以记事本为例的不激活窗口的情况下向记事本中发送内容的问题已经解决,但如果换成网络游戏窗口就不灵,而且用AU3的window information工具无法查知游戏窗口的句柄。

记事本的例子代码:(记事本可以最小化,代码运行完毕后,再查看)

#include <PostMessage_UDF.au3>
#Include <Array.au3>

$hWnd1 = ControlGetHandle("无标题 - 记事本", "", "Edit1")
MsgBox(0,"$hWnd1",$hWnd1)

    For $i=1 to 5
         _SendText(String($hWnd1),$i)
         sleep (50)
            _Sendkeys(String($hWnd1),"b")
            Sleep (50)
          _sendkeys(string($hWnd1),"{enter}")
          sleep (50)
    Next
MsgBox(0,"$hWnd1","over")

网络游戏的例子代码:(以 星尘传说 为例,游戏的窗口标题是 《星尘传说》)

#include <PostMessage_UDF.au3>
#Include <Array.au3>
;;;;;;;;;;;;;;;;;;;XXX处不知道该写什么了,用AU3的window information 无法查知
$hWnd1 = ControlGetHandle("《星尘传说》", "", "XXX")
MsgBox(0,"$hWnd1",$hWnd1)

    For $i=1 to 5
         _SendText(String($hWnd1),$i)
         sleep (50)
            _Sendkeys(String($hWnd1),"x")
            Sleep (50)
    Next
MsgBox(0,"$hWnd1","over")

sensel 发表于 2009-8-15 20:18:36

如果窗口不使用消息队列来接收用户输入事件,PostMessage是无效的。

free168 发表于 2009-8-16 09:54:30

顶下我也想知道~~~~

king0000 发表于 2009-8-20 20:09:26

本帖最后由 king0000 于 2009-8-20 20:10 编辑

如果窗口不使用消息队列来接收用户输入事件,PostMessage是无效的。
sensel 发表于 2009-8-15 20:18 http://www.autoitx.com/images/common/back.gif

能详细解释下吗?谢谢~~!

对于有些网络游戏 ,无法找到如记事本那样的EDIT1,应该如何解决呢?
页: [1]
查看完整版本: 关于网络游戏窗口的问题。