【发布时间】:2020-01-17 12:37:41
【问题描述】:
我有这个脚本来运行在线游戏,点击启动屏幕并为我输入密码。
然而,自从最新的补丁以来,%MWOStartupTime% 变得相当不可预测,这不再可靠地工作了。我怀疑游戏正在触发一些早期的网络请求。什么的。
所以问题来了:与其等待固定时间,我能否以某种方式测试给定窗口是否不仅存在而且是否响应?这样我就可以循环,等待响应窗口然后开始“点击”。
我也很高兴看到其他想法/解决方案。如果结果证明我需要使用 WinAPI,我也可以用真正的编程语言重写它。
Run, MWOClient.exe, %MWODirectory%
; Wait for the Client to launch
WinWait, MechWarrior Online,, 20
WinActivate, MechWarrior Online
; Wait until the window is responsive
Sleep, %MWOStartupTime%
; Press Escape a few times to skip the loading screens
Loop %MWOScreenLoops% {
WinActivate, MechWarrior Online
Sleep, %MWOScreenTime%
SendInput {Esc}
}
; Click the password textbox
WinActivate, MechWarrior Online
Click %MWOPasswordBoxXCoord%, %MWOPasswordBoxYCoord%
Sleep 500
; Type the password
WinActivate, MechWarrior Online
SendInput %MWOPassword%
Sleep 500
; Copy the password to the clipboard in case the
; password input fails
clipboard = %MWOPassword%
; Click login
Click %MWOPlayButtonXCoord%, %MWOPlayButtonYCoord%
【问题讨论】:
标签: windows automation autohotkey