2016-09-16 80 views

回答

0

如果游戏在窗口模式下运行,您应该能够通过命令WinGetHandle使用它的标题来获取特定窗口的句柄。使用返回的句柄,您可以使用ControlSend将各种文本和键发送到窗口。

这很难帮助你,你的问题很模糊。如果您提供更多关于您想要完成的具体细节,我们可能会为您提供更多帮助。

0

我将不得不同意Bibz的答案。这个问题需要修改,以提供你想要做什么的更多细节。这个问题的答案将取决于游戏及其运行方式。例如:基于网络的游戏,如coolmath-games.com上的游戏。这些游戏似乎大部分都是基于Adobe FLASH的游戏,在Web浏览器中运行。另一个例子是Minecraft。这个游戏通过它自己的窗口进行操作。我的最后一个例子是像魔兽世界这样的全屏幕游戏。在所有这些情况下,使用AutoIt来自动执行任何过程都会有很大不同。

如果您希望在浏览网页或执行任何其他功能时在后台使用AutoIt游戏,最好的方法是使用WinGetHandleControlSend,比如Bibz推荐的。请务必避免使用Send()MouseClick()或类似的功能,因为这会破坏您的浏览。

查看下面的这个例子。它打开Internet Explore的一个实例,导航到Google,然后在后台搜索一个术语。在脚本结尾处,我将其设置为使浏览器可见,以便您可以看到搜索实际上已完成。

#CS 
    This example opens up a webpage in the background, navigates to Google, 
    and searches something. 
#CE 

#include <GUIConstants.au3> 
#Include <IE.au3> 

$a = "THIS IS WHAT I'M GOOGLING" 
Preview($a) 

Func Preview($Submit = "") 
    $oIE = _IECreate ("http://www.google.com", 0, 0) 
    $oForm = _IEFormGetObjByName ($oIE, "f") 
    $oQuery = _IEFormElementGetObjByName ($oForm, "q") 
    _IEFormElementSetValue ($oQuery, $Submit) 
    _IEFormSubmit ($oForm) 
    Sleep(3000) 
    MsgBox(0,"Showing IE","Now making IE visible",3) 
    _IEAction($oIE,"visible") 
EndFunc 

#CS 
    Notice, the browser is being used to Google something, then it's becoming visible AFTER the search was done. 
#CE 

我希望这可以帮到你!

感谢,