用VC让程序不产生控制台界面

来源:互联网 发布:短信恢复软件免费版 编辑:程序博客网 时间:2024/06/05 22:31

用vc建立的控制台应用程序,执行后一般都会弹出一个控制台窗口,有时为了调试或其它目的,需要将其隐藏,在程序中加入下面的预编译代码即可。

#pragma comment(linker, "/subsystem:windows /entry:mainCRTStartup" )

也可以在project settings->link->output中指定后者,后者在option中设定。或直接都在下面的option中设定。

MSDN给出的解释是这样的:
如果有定义了main或wmain函数,则平台自动设置为console,如果是WinMain或DllMain则平台为windows。

而windows平台下的win32程序不会产生窗口,它认为用户会自己创建一个窗口与其相关联。

 

另外在下面几个函数也是操作控制台窗口的:

AllocConsole 它会产生一个控制台窗口附加到将前进程。
FreeConsole 释放当前的控制台窗口。
还有好多,用时查询。

 

用#pragma comment预编译命令还可以指定许多的东西,十分好用,如要连接某个库用lib。