我们有一些可行的代码,它是带有GUI的Win32应用程序,但我希望能够从命令行触发它(静默模式)。有没有简单的方法来做到这一点?或者我是否必须创建另一个项目作为命令行应用程序?
答案 0 :(得分:3)
如果您希望应用程序完全不可见,即根本没有窗口,您只需跳过创建主窗口的应用程序部分。正常的命令行应用程序将创建一个控制台窗口,当应用程序打开和关闭时,该窗口将在屏幕上闪烁。
答案 1 :(得分:1)
c:> notepad.exe
那回答你的问题?
答案 2 :(得分:1)
您可以编写一个小应用程序来启动与CreateProcess
Windows API相关的旧GUI应用程序。 CreateProcess
具有lpStartupInfo
或STARTUPINFO
类型的STARTUPINFOEX
参数。如果您将此wShowWindow
或STARTUPINFO
的{{1}}字段初始化为STARTUPINFOEX
,则将隐藏将启动的应用程序主Windows。您还必须设置SW_HIDE
dwFlags
或STARTUPINFO
,其中包含STARTUPINFOEX
位掩码。
这个以隐藏模式启动另一个程序的小程序也可用于启动控制台应用程序,而无需打开一个众所周知的控制台窗口。