1 控制台
用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。
2 非控制台
方法较多,我在dlg初始化时使用SetWindowPos(&wndTop,0,0,0,0,NULL);来实现
参见:http://www.360doc.com/content/10/0310/17/59141_18260423.shtml
有其它好方法的朋友请补充