如何将变量传递给WinExist?

时间:2018-07-08 15:54:25

标签: autohotkey

我需要做

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

但是这不起作用

%window%早先设置为等于%3%,这是一个命令行参数,只能是将AHK脚本指向插入窗口的字符串类型。

我尝试将%window%替换为%3%,但是内部的代码从未运行过。为什么?

2 个答案:

答案 0 :(得分:2)

If WinExist(window)

expression,其参数中的任何变量名称均不应包含在百分号中。

相反,文字字符串应该用双引号引起来

If WinExist("Untitled - Notepad")

答案 1 :(得分:1)

由于WinExist()接受窗口标题的字符串参数,因此不需要将变量包含在%中。

如果将window设置为第3个命令参数的值,则下面的代码应该起作用。

window = %3%

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

注意:window%3%必须与窗口标题完全匹配,或者您必须使用SetTitleMatchMode, 2 (请参阅SetTitleMatchMode)。