【问题标题】:Hotkey to run program or activate/toggle运行程序或激活/切换的热键
【发布时间】:2020-11-03 11:17:58
【问题描述】:

我对自动热键程序还很陌生,但我喜欢它的全部功能。 我正在寻找一个热键来打开一个程序(如果它尚未打开),但它已打开以激活窗口。 我已经尝试了以下方法,但它似乎不起作用。

^+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 上不起作用?

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

【问题讨论】:

  • >"另外,您能否确认一下鼠标位置是否在双屏或 Windows 10 上不起作用?"

标签: autohotkey


【解决方案1】:

三件事:

  1. 我修复了代码的语法和逻辑。请尽量避免使用 #If 语句(尤其是如果您是新手),因为它们会破坏脚本。
  2. 不要在 IfWinActive 中同时使用 both 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

【讨论】:

  • #Directives 很好用,应该鼓励使用。他们只需要正确使用。它们也可以在这个脚本中使用,但实际上没有必要。支架位置也无关紧要,主要只是个人喜好。只有在一些遗留的 AHK 语句中它会导致问题(IfWinExist 是遗留的,不应该使用)
猜你喜欢
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
相关资源
最近更新 更多