如何查找在AutoHotKey中打开的特定程序的窗口数?
我是AHK的新手,希望找到某个程序在任何时候打开的窗口数,并将其存储在变量中 我有一个脚本,当我按下caps lock键时,它会打开一个Opera窗口,但我一次只想打开其中三个窗口,因此当有三个以上的Opera窗口打开,而我按下caps lock键时,它什么也不做 我还希望caps lock按钮永远不要大写文本(换句话说,caps lock状态始终处于关闭状态)如何查找在AutoHotKey中打开的特定程序的窗口数?,autohotkey,Autohotkey,我是AHK的新手,希望找到某个程序在任何时候打开的窗口数,并将其存储在变量中 我有一个脚本,当我按下caps lock键时,它会打开一个Opera窗口,但我一次只想打开其中三个窗口,因此当有三个以上的Opera窗口打开,而我按下caps lock键时,它什么也不做 我还希望caps lock按钮永远不要大写文本(换句话说,caps lock状态始终处于关闭状态) 如何执行此操作?您可以使用WinGet和Count操作(请参阅)来获取与特定筛选器匹配的窗口数 当然,你需要找到合适的过滤器。您可以使
如何执行此操作?您可以使用
WinGet
和Count
操作(请参阅)来获取与特定筛选器匹配的窗口数
当然,你需要找到合适的过滤器。您可以使用自动热键附带的Window Spy实用程序
在本例中,我已经这样做了:您将看到Opera窗口的窗口类(ahk_class
)是Chrome\u WidgetWin\u 1
。然而,对于Chrome、Chrome等也是如此,因此我们还必须过滤opera.EXE的程序EXE文件名(ahk_EXE
)。(我们不只是通过ahk_exe
进行筛选的原因是我们不想包括“有可用更新”框或其他非主窗口Opera可能已打开的内容。)
最终结果是:
WinGet cnt, Count, ahk_exe opera.exe ahk_class Chrome_WidgetWin_1
MsgBox There are %cnt% Opera windows open
要使caps lock state始终处于关闭状态,请参见。@user3419297我假设这只会在我按下caps键后设置caps lock state始终处于关闭状态?在AHk中,只有SetCapsLockState,AlwaysOff
而上面没有热键可以吗?是的,这是一个常规设置,仅禁用常规的大写锁定功能。它独立于您在Caps
上定义的热键。此命令必须放在(第一个热键、热字符串或返回之前的脚本顶部)。