2014-04-21 108 views
0

我正在使用Autoit作爲我正在製作的bot,並嘗試在啓動遊戲之前首先檢測客戶端屏幕分辨率。我讓機器人以特定的屏幕尺寸運行,所以我想確保客戶端在啓動我的機器人之前以該尺寸運行它。我到目前爲止autoit:在If語句中檢測窗口屏幕分辨率

; Retrieve the client area of the window. 
    $aClientSize = WinGetClientSize("clientWindow") 
    If Not ($aClientSize[0] = 1024 & $aClientSize[1] = 768) Then 
    WinClose("clientWindow") 
    MsgBox(0,"Resolution","Please change your screen resolution in game to 1024x768 in order for this bot to work. Go To Game Menu > Options > Graphics and change it to 1024x768 Then run it again.") 
    Exit 
    EndIf 

但是不管它執行這個腳本是什麼,所以不管它是否設置了正確的分辨率。我是否錯誤地運行了我的If語句?

+1

AutoIt中的邏輯連接是'And',而不是'&'... – Samoth

回答

2

如果您正在尋找桌面分辨率,那麼有宏爲此目的:@DesktopWidth and @DesktopHeight

但是,由於語法錯誤,您的代碼無法正常工作。再看看你在用If測試做什麼 - &運算符是用於字符串連接的!您正在尋找And

這意味着你的代碼正在評估類似$a[0] = ((1024 & $a[1]) = 768),所以無論怎樣的情況下,您比較$a[0]一個布爾值,它是假的(沒有字符串,使得「1024」 &字符串=「768」) 。