在Visual Studio下启动应用程序时,是否可以(以及如何)禁用控制台窗口的显示?
编辑:
一些准确性:
我在这个项目的开头没有GUI系统。 我第二次将QT gui添加到这个项目中。 目前,当我启动我的应用程序时,我有控制台系统和QT的MainWindow
我想禁用控制台系统
答案 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也不会附加到此应用程序。)
您可以使用AllocConsole
和FreeConsole
Windows API函数控制控制台与您的应用程序的连接和分离,但您真正想做的事情可能是{{3 }}
答案 2 :(得分:0)
如果是Windows应用程序,那么是 - 您可以控制UI。如果它是一个控制台应用程序,那么你得到一个带有stdin,stdout等的控制台。如果你正在寻找没有用户界面的东西,那么你可能正在使用Windows服务。