c + +从显示禁止命令提示(C++ disallow command prompt from di

2019-09-17 09:56发布

是否有任何我能做的事,以确保壳/命令提示符下显示不出来,当我跑我的C ++程序,它意味着是一个后台程序? 虽然它不是一个巨大的交易,如果它显示,因为它会很快关闭,我宁愿它不会显示在所有。 计划将在Windows上运行XP / VISTA / 7操作系统

Answer 1:

配置编译器或链接标记你的程序的GUI应用程序。

Windows识别两种主要类型的节目:GUI和控制台。 如果EXE标题被标记为一个控制台程序,则该OS给执行它之前创建一个控制台窗口。 否则,它没有。 这是不是你可以在运行时控制; 你需要在链接时进行设置。 (你可以调用ShowWindow(GetConsoelWindow(), SW_HIDE)尝试在运行时控制它,但这并不阻止窗口闪烁,然后再次关闭。另外,如果你的程序与其他程序共享控制台,像cmd.exe的,那么你刚才隐藏在用户的命令提示符窗口!)即使你的程序没有任何实际的图形用户界面,这仍然需要避免为您创建一个控制台窗口模式。

如果你开始在Visual Studio中一个新的项目,选择“Win32控制台应用程序”选项。 如果你已经有一个项目,然后在项目的配置属性,找到“链接器/系统”部分的“子系统”设置,将其设置为“控制台”。 这使得连接器使用/subsystem:console选项。 如果您使用的MinGW,使用-Wl,--subsystem,windows选项。



Answer 2:

像你想创建一个Windows服务,而不是一个命令行实用程序听起来给我。 这就是为什么存在服务。 长期运行无需用户交互的后台任务。 这里一个简单的例子 。



文章来源: C++ disallow command prompt from displaying