autoit:在If语句中检测窗口屏幕分辨率

时间:2014-04-21 04:30:43

标签: autoit

我正在使用Autoit来制作我正在制作的机器人并尝试在启动游戏之前先检测客户端屏幕分辨率。我正在使机器人以特定的屏幕大小运行,因此我想确保客户端在启动我的机器人之前以该大小运行它。我到目前为止

; 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 个答案:

答案 0 :(得分:2)

如果您正在寻找桌面分辨率,那么就会出现用于此目的的宏:@DesktopWidth and @DesktopHeight

但是,由于语法错误,您的代码无法正常工作。再看看你在If测试中做了什么 - &运算符用于字符串连接!您正在寻找And

这意味着您的代码正在被评估为$a[0] = ((1024 & $a[1]) = 768),所以无论如何,您将$a[0]与布尔值进行比较,该布尔值必须为false(没有字符串使得&#34 ; 1024"& string =" 768")。