Autohotkey 在脚本启动时自动运行程序

Autohotkey 在脚本启动时自动运行程序,autohotkey,Autohotkey,我试图使一个AHK脚本在每次启动时打开另一个程序。问题是,如果其他程序已经打开,我不希望这种情况发生 以下是似乎被认为是有效的,但不是有效的:(本节位于我脚本的最顶端) 应该发生什么事: 如果窗口“Microsoft Excel-myExcelFile.xls”未打开,请运行它。如果没有,请不要 正在发生的事情: 无论它是否打开,它都会尝试再次运行。是的,尽管我已经阅读了文档,但我知道#IfWin和IfWin之间的区别在于它们是在特定热键内部还是外部使用的。据我所知,“创建上下文敏感热键和热字符

我试图使一个AHK脚本在每次启动时打开另一个程序。问题是,如果其他程序已经打开,我不希望这种情况发生

以下是似乎被认为是有效的,但不是有效的:(本节位于我脚本的最顶端)

应该发生什么事:

如果窗口“Microsoft Excel-myExcelFile.xls”未打开,请运行它。如果没有,请不要

正在发生的事情:


无论它是否打开,它都会尝试再次运行。

是的,尽管我已经阅读了文档,但我知道
#IfWin
IfWin
之间的区别在于它们是在特定热键内部还是外部使用的。据我所知,“创建上下文敏感热键和热字符串”还包括“上下文敏感自动执行”(当代码不在热键内时)


事实上,我错了,解决办法是删除
#

我通常建议在提问之前先阅读。在这里,您将看到#IfWinNotExist创建上下文敏感热键和热字符串。您正在寻找的是,如果没有开头的#,它将检查是否存在匹配的窗口。AHK中的指令(以
#
开头的指令)不能以这种方式工作。它们在脚本启动时进行评估,其余的执行流不会受到它们的影响。如果您想了解有关
#If…
的更多信息,请访问。
SetTitleMatchMode, 2
#IfWinNotExist, Microsoft Excel - myExcelFile.xls
Run C:\myExcelFile.xls
#IfWinExist
;REST OF MY SCRIPT GOES HERE