C++禁止显示命令提示符

C++ disallow command prompt from displaying

本文关键字:命令提示符 禁止显示 C++      更新时间:2023-10-16

我能做些什么来确保在我运行C++程序时不显示 shell/命令提示符,它是一个后台程序?虽然如果它显示并不是什么大问题,因为它很快就会关闭,但我宁愿它根本不显示。程序将在Windows xp/vista/7操作系统上运行

配置编译器或链接器以将程序标记为 GUI 应用程序。

Windows识别两种主要类型的程序:GUI和控制台。如果 EXE 标头标记为控制台程序,则操作系统会在执行它之前创建一个控制台窗口。否则,它不会。这不是您可以在运行时控制的内容;您需要在链接时设置它。(您可以调用 ShowWindow(GetConsoelWindow(), SW_HIDE) 来尝试在运行时控制它,但这不会阻止窗口闪烁然后再次关闭。另外,如果您的程序与另一个程序(如cmd.exe)共享控制台,那么您将隐藏用户的命令提示符窗口!即使您的程序没有任何实际的 GUI,这仍然是避免为您创建控制台窗口所需的模式。

如果要在 Visual Studio 中启动新项目,请选择"Win32 控制台应用程序"选项。如果您已经有一个项目,那么在项目的配置属性中,找到"链接器/系统"部分的"子系统"设置,并将其设置为"控制台"。这使得链接器使用 /subsystem:console 选项。如果您使用的是 Mingw,请使用-Wl,--subsystem,windows选项。

听起来你想

创建一个Windows服务,而不是一个命令行实用程序。 这就是服务存在的原因。 不需要用户交互的长时间运行的后台任务。 这里有一个简单的例子。