AlwaysOnTop无法使用AutoHotKey中记录的语法

时间:2019-01-17 19:57:48

标签: autohotkey

我发现与AutoHotKey中的AlwaysOnTop函数不一致。以以下脚本为例:

#+a::
{
    WinSet , AlwaysOnTop , , A
    return
}

#+b::
{
    WinSet , AlwaysOnTop , Toggle
    return
}

第一个选项基于我多年使用的脚本,该脚本是从其他来源整理而来的。该版本可在任何当前活动窗口上切换AlwaysOnTop设置。

第二个选项是current documentation所说的应该如何做。当我尝试触发AlwaysOnTop设置时,此操作无济于事。

不仅仅是错误的文档(至少不是完全错误的),因为该语法似乎适用于我刚刚编写的另一个脚本。在这个新脚本中,我一直希望它仅激活AlwaysOnTop模式,从不切换,因此我正在使用WinSet , AlwaysOnTop , On,并且运行良好。

将on / off / toggle值保留为既不起作用(尽管它应默认为切换),也不使用-1(最新版本的AHK中的新选项)。运行它不会引发任何错误,但是如果我玩逗号,它的确会说它遇到语法错误。

有什么想法为什么记录的语法不起作用?这是AHK中的实际故障,还是我只是误解了它在这种情况下的用法?我什至不知道为什么我的原始版本可以工作,因为我找不到任何地方记录的语法。

1 个答案:

答案 0 :(得分:2)

文档没有说无法通过第一种方法完成。它说如果您以第一种方式进行操作,则默认情况下会进行切换。在WinSet的顶部还有一个有关WinTitle的链接,其中描述了 A 的功能(进入活动窗口)。

如果误导您将WinTitle视为可选,则WinTitle仅在您要使用Last Found Window时才是可选的。

例如,您可以执行以下操作:

IfWinActive, %WinTitle%
    WinSet, AlwaysOnTop ; Toggles AlwaysOnTop for the previously checked window.