始终不使用AutoHotKey中的文档化语法

始终不使用AutoHotKey中的文档化语法,autohotkey,Autohotkey,我发现自动热键中的AlwaysOnTop函数存在一些不一致之处。以以下脚本为例: #+a:: { WinSet , AlwaysOnTop , , A return } #+b:: { WinSet , AlwaysOnTop , Toggle return } 第一种选择是基于我多年来一直使用的脚本,该脚本是从其他来源拼凑而成的。该版本用于切换当前活动窗口上的AlwaysOnTop设置 第二个选择是政府如何说应该这样做。当我尝试触发AlwaysOnTop设置

我发现自动热键中的AlwaysOnTop函数存在一些不一致之处。以以下脚本为例:

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

#+b::
{
    WinSet , AlwaysOnTop , Toggle
    return
}
第一种选择是基于我多年来一直使用的脚本,该脚本是从其他来源拼凑而成的。该版本用于切换当前活动窗口上的AlwaysOnTop设置

第二个选择是政府如何说应该这样做。当我尝试触发AlwaysOnTop设置时,这没有任何作用

这不仅仅是因为文档错误(至少不是完全错误),因为该语法似乎适用于我刚刚编写的另一个脚本。在这个新脚本中,我总是希望它只激活AlwaysOnTop模式,从不切换,所以我使用了
WinSet,AlwaysOnTop,On
,它工作正常

保留开/关/切换值也不起作用(尽管它应该默认为切换),使用-1(最新版本的AHK中的新选项)也不起作用。运行它不会抛出任何错误,但如果我使用逗号,它会说它遇到了语法错误


你知道为什么文档化的语法不起作用吗?这是AHK中的一个实际故障,还是我只是误解了它在这种情况下的使用?我甚至不知道为什么我的原始版本可以工作,因为我在任何地方都找不到记录的语法

文件没有说不能用第一种方法完成。它说,如果你用第一种方式做,它会默认切换。在WinSet的顶部还有一个关于的链接,它描述了a的功能(使用活动窗口)

若误导您的是将WinTitle视为可选的,那个么WinTitle只有在您想使用时才是可选的

例如,您可以这样做:

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

文件并没有说不能用第一种方法完成。它说,如果你用第一种方式做,它会默认切换。在WinSet的顶部还有一个关于的链接,它描述了a的功能(使用活动窗口)

若误导您的是将WinTitle视为可选的,那个么WinTitle只有在您想使用时才是可选的

例如,您可以这样做:

IfWinActive, %WinTitle%
    WinSet, AlwaysOnTop ; Toggles AlwaysOnTop for the previously checked window.
可能是因为,如果不指定WinTitle参数。可能是因为,如果不指定WinTitle参数。