Autocomplete 自动热键自动完成对特定窗口的限制

Autocomplete 自动热键自动完成对特定窗口的限制,autocomplete,autohotkey,Autocomplete,Autohotkey,我试图在这里使用自动热键自动完成脚本:但仅限于某些窗口。将整个脚本包含在#IfWinActive中似乎不起作用。我真的很喜欢这个完成脚本,但不希望它出现在所有的地方。有没有办法将自动完成限制在特定的窗口?对源代码的快速研究表明,每个按键都会导致调用建议子例程。这似乎是检查活动窗口的好地方。我在源代码中实现了一个最小的更改,您可以查看它。 首先,您必须定义要从功能中排除的窗口,我通过定义窗口组实现了这一点: GroupAdd, excludedWins, ahk_class CabinetWCla

我试图在这里使用自动热键自动完成脚本:但仅限于某些窗口。将整个脚本包含在#IfWinActive中似乎不起作用。我真的很喜欢这个完成脚本,但不希望它出现在所有的地方。有没有办法将自动完成限制在特定的窗口?

对源代码的快速研究表明,每个按键都会导致调用
建议
子例程。这似乎是检查活动窗口的好地方。我在源代码中实现了一个最小的更改,您可以查看它。
首先,您必须定义要从功能中排除的窗口,我通过定义窗口组实现了这一点:

GroupAdd, excludedWins, ahk_class CabinetWClass ; windows explorer
GroupAdd, excludedWins, ahk_class DV2ControlHost ; start menu search bar
GroupAdd, excludedWins, ahk_class ConsoleWindowClass ; console
请注意,我使用的是Windows7;也许,windows在其他版本中有其他标识符

其次,您需要告诉
Suggest
子例程忽略这些窗口:

Suggest:
IfWinActive, ahk_group excludedWins
{
        return
}

这似乎是可行的,但我只是做了很肤浅的测试,没有调查源代码的依赖性。让我知道它对您的作用。

请详细说明您的问题。脚本是如何工作的<代码>#IfWinActive
仅适用于热键和热字符串。把它放在一个复杂的脚本前面肯定会失败。你看过消息来源了吗?你的发现是什么?我对AHK世界有点陌生,所以请容忍我。该脚本使用一个主单词列表,将当前击键与之进行比较,以建议匹配项。当然,这对于某些应用程序来说是非常好的。但是当我尝试在一些不重要的地方(比如开始->运行)输入时,这就变得很突出了。你看过源代码了吗?你的发现是什么?