我们如何防止在Visual Studio下显示控制台窗口?

时间:2011-05-19 07:08:59

标签: c++ windows visual-studio winapi console-application

在Visual Studio下启动应用程序时,是否可以(以及如何)禁用控制台窗口的显示?

编辑:

一些准确性:

我在这个项目的开头没有GUI系统。 我第二次将QT gui添加到这个项目中。 目前,当我启动我的应用程序时,我有控制台系统和QT的MainWindow

我想禁用控制台系统

3 个答案:

答案 0 :(得分:5)

您只需使用应用程序而不是控制台应用程序。要做到这一点:

将子系统更改为Windows。您可以在以下网址找到它:

Properties ---> Linker ---> System 

并替换

int _tmain(int argc, _TCHAR* argv[]) 

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) 

答案 1 :(得分:2)

你不能(但见下文)这与Visual Studio无关,而是与 Windows 如何区分控制台和“非控制台”应用程序。

控制台应用程序在其可执行文件中设置了某种标记,以便Windows知道它是CLI,然后Windows将始终打开控制台并将其附加到此过程。

GUI应用程序没有此标志,因此Windows不会附加控制台(当从Windows cmd.exe shell运行时,shell也不会附加到此应用程序。)

可以使用AllocConsoleFreeConsole Windows API函数控制控制台与您的应用程序的连接和分离,但您真正想做的事情可能是{{3 }}

答案 2 :(得分:0)

如果是Windows应用程序,那么是 - 您可以控制UI。如果它是一个控制台应用程序,那么你得到一个带有stdin,stdout等的控制台。如果你正在寻找没有用户界面的东西,那么你可能正在使用Windows服务。