问题描述
我对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上不起作用吗?
任何帮助将不胜感激,非常感谢!
解决方法
三件事:
- 我修复了代码的语法和逻辑。请尽量避免使用#If语句(特别是如果您是新手),因为这些语句容易破坏脚本。
- 对于IfWinActive,不要同时使用 b ahk_class和ahk_exe,因为这将是多余的(据我所知,这是无效的)。
- 再次检查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