如何将变量传递给 WinExist?

How to pass a variable to WinExist?

我需要做

if WinExist(%window%) {...}

但是这不起作用

%window% 之前设置为等于 %3%,这是一个命令行参数,它应该只是字符串类型,将 AHK 脚本指向感兴趣的 window。

我尝试用 %3% 替换 %window% 但是里面的代码从来没有得到 运行。为什么?

If WinExist(window)

是一个expression,其参数中的任何变量名都不应包含在百分号中。

相比之下,文字字符串应该用双引号引起来:

If WinExist("Untitled - Notepad")

由于 WinExist() 接受 window 标题的字符串参数,因此您无需将变量包含在 %.

如果您将 window 设置为第三个命令参数的值,则以下代码应该有效。

window = %3%

if WinExist(window)
{
    Msgbox, Exists.
}
else
{
    Msgbox, Does not exist.
}

注意:window%3%必须与window标题完全匹配,否则您必须使用SetTitleMatchMode, 2 (参见SetTitleMatchMode)。