我希望能够通过传递参数来以静默模式运行应用程序,否则将显示窗口。
ShowWindow(... SW_HIDE ...)
不能正常工作?
在这里,最好的做法是一开始就不要创建窗口。在InitInstance中实际上没有强制你必须创建一个窗口。但如果你正在使用MFC,那么你的应用程序/领域/业务逻辑可能会与MFC消息处理程序等紧密耦合在一起,此时窗口将需要存在。
首先,如果传入了这个参数,你可以决定不创建窗口。否则,你可以尝试使用窗口句柄和 SW_HIDE
参数调用ShowWindow函数,看看是否能达到你的需求。
另一种隐藏窗口但仍然创建它的方法是,在使用 CreateWindow
/CreateWindowEx
创建窗口时,不在 dwStyle
参数中设置 WS_VISIBLE
标志,并且永远不要调用 ShowWindow
函数来隐藏它。
我认为更好的解决方案是在不需要时不创建窗口。 看一下主要函数,你会看到创建窗口的代码。 只有在想要启动窗口时才调用它。
ShowWindow(hWnd, SW_HIDE);