2016-09-16 87 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 

我希望這可以幫到你!

感謝,