我只是希望我的脚本选择正确的窗口来输入关键鹳。要做到这一点,我想我使用WinActivate。我从他们的网站上运行了这个例子,但在Windows 10中发现了一些奇怪的结果
IfWinExist, Untitled - Notepad
WinActivate ; use the window found above
else
WinActivate, Calculator;
导致不一致的原因是什么?
答案 0 :(得分:1)
分号在AHK中引入评论。在它之前必须有一个空格,否则它被视为字符串的一部分(别名winactivate"计算器;")
所以,使用
WinActivate, Calculator ;
或只是忽略;
,因为它没有贡献任何东西
答案 1 :(得分:0)
这是因为在语言上实现了 WinActivate 功能。 WinActivate 尝试打开一个窗口,但可能无法打开。 来自documentation
将尝试六次激活目标窗口 当然是60ms。因此,通常不必遵循WinActivate 使用WinWaitActive或IfWinNotActive。
通常,您可以将 #WinActivateForce 指令与 WinWaitActive 或 IfWinNotActive 结合使用。
有时您可以使用ahk_exe参数来匹配窗口。它可能适用于窗口标题没有的情况。在这种情况下,您将使用
尝试使用 WinRestore 恢复窗口也很有用。
SetTitleMatchMode, 2
IfWinExist, Bloco de notas
{
WinActivate ; use the window found above
}
else
{
WinRestore, ahk_exe calc.exe
WinActivate, ahk_exe calc.exe
}
我在Win7上,但上面对我有用。
以下是试图激活窗口的函数的完整实现的example。