在 Microsoft Edge 处于活动状态时执行操作的 Autohotkey 脚本

Autohotkey script to perform action when Microsoft Edge is active

我正在尝试编写脚本以便在 Microsoft Edge windows 处于活动状态时执行操作。我尝试了这些脚本:

#IfWinActive Microsoft edge
~$l::
KeyWait,l,T0.25
if (ErrorLevel)
{
 send,^l
 sleep,100
 send,{Delete}
}
return

但它无法识别 windows。我也尝试了不同的名称,例如 #IfWinActive, ahk_class Microsoft Edge#IfWinActive Microsoft Edge.exe。但他们都没有工作。

在新的 Edge 选项卡上使用 Window Spy 显示如下:

在您将用于 #IfWinActive 语句的三个主要选项(WinTitleahk_classahk_exe)中,ahk_exe 可能是创建始终在 MS Edge 中运行的脚本的最佳选择,并且仅在 MS Edge 中基于 Windows Spy 显示的内容。

基于此,我创建了这个通用脚本来检查是否在 Edge 中触发了热键

#IfWinActive, ahk_exe msedge.exe
^q::MsgBox Hotkey Triggered in Edge (msedge.exe)
#If

^q::MsgBox Hotkey Triggered in a different program

将您的原始脚本合并到此得到:

#IfWinActive, ahk_exe msedge.exe
~$l::
KeyWait,l,T0.25
if (ErrorLevel)
{
 send,^l
 sleep,100
 send,{Delete}
}
return

有关#IfWinActive 的更多信息,请参阅the docs

也相关:Post on AHK forums on how to use the #IfWinActive with program names, ahk_exe, and ahk_class.