我有一个脚本,它或多或少地工作。
我启动了一个程序并按下了一些键。
根据几个因素,程序显示两个屏幕之一。如果屏幕是 1 号,那么它应该只运行到最后(标题:10-2013 2013.06.17. Screen x)。如果屏幕是 2 号,那么它应该按另一个键,然后运行到最后(标题:10-2013 2013.06.17.屏幕 y)。
屏幕标题不是简单的标题,但它们取决于一些输入,所以这是我尝试的:
SetTitleMatchMode 2
; Wait for any of the two screens
WinWait,%5%-%1% - %2% - Screen
; If it is the second screen
MyTitle = %5%-%1% - %2% - Screen y
WinGetActiveTitle,title
If(title = MyTitle)
{
ControlSend,Static39,{Esc},%5%-%1% - %2% - Screen y
Sleep 2000
}
; Here are the common part again
ExitProgram:
条件不起作用。如果我像上面那样尝试它,它不会进入条件范围内。如果我使用 %title% 那么它会显示“变量名 10-2013 2013.06.17 中的无效字符。屏幕 y”。
解决方案
根据罗伯特的回答
SetTitleMatchMode 2
WinWait,%5%-%1% - %2% - Screen
IfWinExist %5%-%1% - %2% - Screen y
{
ControlSend,Static39,{Esc},%5%-%1% - %2% - Screen y
Sleep 2000
}