如何在启动可执行文件时隐藏或禁用CMD控制台窗口
如何在启动可执行文件时隐藏或禁用CMD控制台窗口
我完全懂你的烦恼——你用AutoHotkey把⊞ Win+N绑定成启动自己开发的带GUI窗口的程序,但每次触发快捷键时都会弹出CMD或PowerShell控制台窗口,有时候还会挡住你的程序界面。你试过用文档里的Hide或Min参数,结果却连自己的程序窗口也被隐藏或最小化了,这显然不是你想要的效果。
给你几个可行的解决办法,既能干掉烦人的控制台窗口,又不会影响你的GUI程序正常显示:
换用
ShellExecute命令代替Run
AutoHotkey的ShellExecute专门用于启动GUI程序,默认不会弹出控制台窗口。把你的脚本改成这样就行:#n:: ShellExecute "C:\Perso\dev-perso\dly\dly.exe"给
Run搭配cmd /c start组合参数
如果坚持想用Run命令,可以通过嵌套CMD命令来实现只隐藏控制台:#n:: Run "cmd /c start """" ""C:\Perso\dev-perso\dly\dly.exe""", , "Hide"这里的
""""是为了兼容路径中可能存在的空格,最后的"Hide"参数只会隐藏AutoHotkey启动的CMD窗口,你的GUI程序会正常弹出显示。检查你的可执行文件编译类型
如果你自己写的dly.exe是用控制台子系统编译的(比如C/C++项目里没指定GUI子系统),哪怕它有GUI界面,启动时也会默认带控制台窗口。这种情况下你需要修改项目的编译选项,把程序编译为GUI子系统,这样后续启动就不会再弹出控制台了。
备注:内容来源于stack exchange,提问作者WoJ




