用于运行程序或激活/切换的热键

问题描述

我对autohotkey程序还算陌生,但是我喜欢所有功能。 我希望创建一个热键来打开程序(如果尚未打开),但是可以打开它以激活窗口。 我已经尝试了以下方法,但似乎无法正常工作。

^+e::
#IfWinExist,ahk_class XLMAIN ahk_exe EXCEL.EXE
{
      WinActivate ahk_class XLMAIN ahk_exe EXCEL.EXE
}
return
#IfWinExist
#IfWinNotExist,ahk_class ahk_class XLMAIN ahk_exe EXCEL.EXE
{
run C:\Program Files\Microsoft Office\Office16\EXCEL.EXE
}
#IfWinNotExist
return

还可以确认鼠标位置在双屏或Windows 10上不起作用吗?

任何帮助将不胜感激,非常感谢!

解决方法

三件事:

  1. 我修复了代码的语法和逻辑。请尽量避免使用#If语句(特别是如果您是新手),因为这些语句容易破坏脚本。
  2. 对于IfWinActive,不要同时使用 b ahk_class和ahk_exe,因为这将是多余的(据我所知,这是无效的)。
  3. 再次检查EXCEL.EXE的位置是否就是您在脚本(C:\Program Files\Microsoft Office\Office16\EXCEL.EXE)中所说的位置,因为在我的计算机上它位于C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE

以下是对我有用的代码:

^+e::
IfWinExist,ahk_exe EXCEL.EXE
{
    WinActivate  ; Automatically uses the window found above.
    WinMaximize  ; same
    Send,Some text.{Enter}
    return
}else{
    run C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE
}
return