关闭应用程序而不显示控制台窗口
Closing Application without showing console window
我编写了非常简单的控制台应用程序,它支持一些命令行选项。如果没有命令行参数(这意味着只有 1 个参数)应用程序关闭而不显示黑窗,目前如果您运行下面的代码,因为它没有命令行参数,它会立即关闭,但它会显示黑窗一秒钟,我想避免它。那么我怎样才能以简单的方式做到这一点呢?
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
if (argc==1) return 0;
if (argc!=1)
for (int i=2; i<=argc; i++)
cout << argv[i] << endl;
cin.sync();cin.get();
return 0;
}
如果创建控制台应用程序,则无法从控制台窗口创建中转义。
但是您可以使用入口点WinMain创建win32应用程序,并且没有创建窗口,只需用作控制台程序即可。
要使程序运行,Windows需要一个控制台窗口。创建控制台窗口后,控件将进入 main。只有在 main 中,您才能检查命令行参数。这意味着,不可能做你想做的事。
但是,您可以使用 CreateProcess API 在不显示控制台窗口的情况下运行程序。因此,如果可以从另一个程序运行控制台应用程序,则可以检查是否存在命令行参数,然后决定是否应使用 CreateProcess 显示控制台窗口。
若要不使用 CreateProcess 显示控制台窗口,请将 STARTUPINFO 的 dwFlags 参数设置为 STARTF_USESHOWWINDOW,并在 wShowWindow 参数中指定SW_HIDE。
相关文章:
- 控制台输出在 Qt5 中未正确显示
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 为什么调试时没有显示控制台窗口
- 将控制台输出写入.txt并在控制台上显示
- 当被一个输入分开时,有两个控制台输出同时显示
- 如何在控制台应用程序中添加滚动功能以显示更大的输入
- 在任何 Windows 版本上全屏显示控制台
- C++:显示控制台窗口的输出
- C++:如何在控制台窗口中显示结果
- 控制台输出显示ASCII值,而不是数字的预期数字
- C++/CLI 项目如何在控制台窗口中显示消息
- Linux C LIBEV官方示例显示了冗余控制台行为
- QProcess::startDetached() 不显示控制台窗口
- 关闭应用程序而不显示控制台窗口
- 如何在C++中显示控制台应用程序中的 MFC 对话框
- 不要在发布时显示控制台窗口,而是在调试时显示
- Q使用显示控制台处理STDIN
- 如何在窗口下使用cmake在qt GUI应用程序中显示控制台
- 如何让 MATLAB 的系统() 或 dos() 实时显示控制台输出?
- C++使用 Windows 和 MinGW 在 Eclipse 中编写的程序无法显示控制台视图的输出