我编写了一个可执行文件,它在屏幕上显示一个窗口并获取一些使用输入。它绑定到⊞ Win+ N:
#n:: Run "C:\Perso\dev-perso\dly\dly.exe"
我的问题:这也会打开一个cmd
(或 PS)控制台,有时会覆盖实际的程序:
有没有办法在没有关联控制台的情况下启动可执行文件?
我尝试根据文档使用Hide
orMin
参数,但这会改变两个程序的行为,而不仅仅是控制台。
我编写了一个可执行文件,它在屏幕上显示一个窗口并获取一些使用输入。它绑定到⊞ Win+ N:
#n:: Run "C:\Perso\dev-perso\dly\dly.exe"
我的问题:这也会打开一个cmd
(或 PS)控制台,有时会覆盖实际的程序:
有没有办法在没有关联控制台的情况下启动可执行文件?
我尝试根据文档使用Hide
orMin
参数,但这会改变两个程序的行为,而不仅仅是控制台。
Windows 应用程序有两种类型:图形应用程序或控制台应用程序。如果可执行文件是控制台应用程序,那么它将在启动时自动显示 CMD 窗口作为其输出。
Windows 在程序开始运行之前需要知道它将使用哪个子系统。一旦程序开始运行,就不可能返回并请求其他模式。在编程中,区别在于程序主过程的定义。
您的程序属于控制台子系统,可能是因为它的编程要简单得多(不需要消息泵)。控制台程序可以通过使用 GetConsoleWindow 函数 和 ShowWindow 函数来隐藏自己的控制台。
实现这个的具体代码由你决定,或者你可以在 Stack Overflow上询问详细信息 ,这是一个编程问题的地方。