在AutoHotKey中,ahk_class NAME
一直是程序的良好标识符。通常,我现在通过以下两种方式使用它:
只需调用最近调用的活动实例:
按Win + Shift + X将显示(或切换到)Windows Journal应用程序
IfWinExist ahk_class JournalApp WinActivate ahk_class JournalApp 其他 运行C:\ Program Files \ Windows Journal \ Journal.exe 返回
递归调用实例:
i groupadd,FIRE,ahk_class MozillaWindowClass
; pressing will "loop through" all the live session of Firefox.
#3::
IfWinExist ahk_class MozillaWindowClass
groupactivate, FIRE, r
else
run firefox
return
但是,某些程序没有稳定的 ahk_class
名称。例如,ArcMap.exe应该
在" Windows Spy"中显示以下信息AHK的窗口:
>>>>>>>>>>( Window Title & Class )<<<<<<<<<<<
Untitled - ArcMap
ahk_class Afx:012F0000:b:00010003:00000006:001C0BB0
我知道如何引用具有动态ahk_class
的应用程序?
我知道还有一种名为ahk_exe
的东西。但是,我没有发现它与方法groupadd
兼容,
groupactivate
或IfWinExist
。
答案 0 :(得分:2)
您肯定正在尝试合并ahk_exe
。 GroupAdd
(以及其他所有接收WinTitle
parameter的命令) 与AHK_L中的ahk_exe
兼容;这个示例代码在我的机器上完美运行:
GroupAdd, notepad, ahk_exe notepad.exe
Run, notepad.exe
WinWaitActive, ahk_group notepad
Sleep, 1000
WinClose, ahk_group notepad
我怀疑你没有使用最新版本的AHK。得到它here并再试一次。