IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    屏蔽Windows控制台程序窗口

    admin发表于 2015-06-16 03:33:51
    love 0

    问题:屏蔽Windows控制台程序窗口,因为有的时候并不需要交互。

    方法:加上一句话即可:#pragma comment(linker, “/subsystem:windows /ENTRY:mainCRTStartup”)

    解释:众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种方法。

    操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相 同。在VC下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用你自己编写的 main 函数;对图形用户界面(GUI)程序设置的入口函数是 WinMainCRTStartup,WinMainCRTStartup 调用你自己写的 WinMain 函数。

    具体设置哪个入口点是由连接器的“/subsystem:”选项参数确定的,它告诉操作系统如何运行编译生成的.EXE文件。可以指定四种方 式:“CONSOLE|WINDOWS|NATIVE|POSIX”如果这个选项参数的值为“WINDOWS”,则表示该应用程序运行时不需要控制台,有 关连接器参数选项的详细说明请参考 MSDN 库。(互联网)

    原创文章,转载请注明: 转载自C/C++程序员之家

    本文链接地址: 屏蔽Windows控制台程序窗口



沪ICP备19023445号-2号
友情链接