如何使用AHK从系统托盘关闭指定程序?
如何使用AHK从系统托盘关闭指定程序?
我太懂你遇到的问题了!你之前写的脚本只能关掉QTranslate的可见窗口,但它在系统托盘里的后台进程根本没被终止——毕竟WinKill只对有界面的窗口生效,托盘常驻的程序往往没有活动窗口,所以得换个思路,直接针对进程下手。
给你几个适用于AHK V1.1.36.02的解决方案:
单次触发版(打开PhpStorm时关闭一次QTranslate)
这个脚本会在检测到PhpStorm启动后,立即终止QTranslate的进程,不管它有没有窗口:
; 等待phpstorm64.exe进程启动 Process, Wait, phpstorm64.exe ; 直接关闭QTranslate的进程 Process, Close, QTranslate.exe ; 可选:添加关闭结果提示 if ErrorLevel { MsgBox, 哎呀,QTranslate进程关闭失败了,请检查进程名是否正确~ } else { MsgBox, QTranslate已经从系统托盘彻底关闭啦! }
持续监测版(每次打开PhpStorm都自动关闭QTranslate)
如果你希望每次启动PhpStorm都自动关掉QTranslate(包括重复打开的情况),可以用循环版:
Loop { ; 等待PhpStorm进程启动 Process, Wait, phpstorm64.exe ; 终止QTranslate进程 Process, Close, QTranslate.exe ; 等待PhpStorm关闭后,再继续监测下一次启动(避免重复触发) Process, WaitClose, phpstorm64.exe }
额外小贴士
- 确认进程名:先去任务管理器里确认QTranslate的进程名是不是
QTranslate.exe,如果名字不对,脚本会失效哦。 - 强制关闭选项:如果
Process, Close没效果,可以换成更强制的命令:
这个命令会强制终止进程,Run, taskkill /f /im QTranslate.exe,, HideHide参数是让命令行窗口不显示出来。
备注:内容来源于stack exchange,提问作者yfjuu 6
相关产品推荐
相关产品推荐

