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

在程序中加上如上语句,可以隐藏控制台窗口。

用VC编写的程序,运行的时候需要C/C++运行库的支持。

当我们运行一个程序时,连接器会首先寻找应用程序的启动函数。

以下内容为引用,因小A水平有限,不懂编译器连接开关,未能证实。但结果有效,内容应该是合理的。

引用:

如果你建立了一个console程序的话,编译器得链接开关会是以下这种形式 
/subsystem: "console " /entry: "mainCRTStartup " (ANSI) 
/subsystem: "console " /entry: "wmainCRTStartuup " (UNICODE)

如果你建立了一个win32 application,编译器得链接开关则会是一下形式 
/subsystem: "windows " /entry: "WinMain " (ANSI) 
/sbusystem: "windows " /entry: "wWinMain " (UINCODE)

在默认情况下/subsystem 和/entry开关是匹配的,也就是 
console对应mainCRTStartup或者wmainCRTStartup 
windows对应WinMain或者wWinMain

但是我们也可以通过手动改动的方式使他们不匹配 ,例如我们可以这样改动 
#pragma comment( linker, "/subsystem:\ "windows\ "  /entry:\ "mainCRTStartup\ " " ) // 设置入口地址

在默认情况下链接器看到/subsystem下是windows选项的时候,它会自动寻找WinMain或者wWinMain 
但我们强制指定入口地址,这样运行程序的时候默认的console窗口就会隐藏

Windows 隐藏控制台的更多相关文章

  1. dotnet core 通过修改文件头的方式隐藏控制台窗口

    原文:dotnet core 通过修改文件头的方式隐藏控制台窗口 在带界面的 dotnet core 程序运行的时候就会出现一个控制台窗口,本文告诉大家使用最简单方法去隐藏控制台窗口. 最近在使用 A ...

  2. 2018-9-30-dotnet-core-通过修改文件头的方式隐藏控制台窗口

    title author date CreateTime categories dotnet core 通过修改文件头的方式隐藏控制台窗口 lindexi 2018-09-30 18:36:43 +0 ...

  3. dotnet core 隐藏控制台

    如果写一个控制台程序,需要隐藏这个控制台程序,可以使用本文的方法 如果是在 Windows 下运行, 可以使用一些系统提供的方法隐藏控制台.如果是 Linux 下,都是控制台,就不用隐藏了 复制下面的 ...

  4. C程序之修改Windows的控制台颜色(转载)

    Windows的CMD可以和Linux下的终端一样可以有五颜六色,目前我在网上找到2种方法可以修改Windows的CMD,当然都是在代码中修改的.在“CMD”->“属性”->“颜色”,这种 ...

  5. HoloLens开发手记 - 使用Windows设备控制台 Using Windows Device Portal

    Windows设备控制台允许你通过Wi-Fi或USB来远程控制你的HoloLens设备.设备控制台是HoloLens上的一个Web Server,你可以通过PC的浏览器来连接到它.设备控制台包含了很多 ...

  6. windows下vbs脚本隐藏控制台

    每次想写python代码时,都需要打开IDE进行编写,并且需要创建许多小文件.如果使用jupyter就能够直接书写.但是jupyter需要手动通过控制台打开,这不够方便.通过把jupyter note ...

  7. c# 隐藏 控制台应用程序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  8. Conemu, Msys2 工具整合,提升windows下控制台工作效率

    与windows cmd相比较git-bash这类的console工具好用很多,但是git-bash的命令和功能相对简单,功能扩展起来不方便,git-bash本身也是基于msys的. 昨天发现使用Ms ...

  9. WCF 寄宿Windows以及控制台启动

    一:添加windows服务 二:修改XXXInstaller1的StartType=Automatic,修改ProcessInstaller1的Account=LocalSystem 三:在progr ...

随机推荐

  1. Avito Cool Challenge 2018 B - Farewell Party

    题目大意: 有n个人 接下来一行n个数a[i] 表示第i个人描述其他人有a[i]个的帽子跟他不一样 帽子编号为1~n 如果所有的描述都是正确的 输出possible 再输出一行b[i] 表示第i个人的 ...

  2. EtherCat开源主站SOEM在windows下工程配置

    截至2019年1月,虽然github上有1.3.3的更新,但是用的人估计还不多,而且1.3.2被官方认为bug严重弃用.所以还是学习1.3.1. 1.拷贝osal.oshw.soem.lib(已生成l ...

  3. python之pypinyin

    python 汉字拼音库 pypinyin 这个库还是很好用的,这个库还是很简单的,中文注解,下面是源码,看注释就可以大致明白方法的意思 #!/usr/bin/env python # -*- cod ...

  4. runtime机制

    runtime(简称运行时),是一套 纯C(C和汇编写的) 的API.而 OC 就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 消息机制原理:对象根据方法编号SEL去映射表查找对 ...

  5. React简单入门

    各位圆友,新年好!!! 使用 React 的网页源码时,首先,最后一个 <script> 标签的 type 属性为 text/babel .这是因为 React 独有的 JSX 语法,跟 ...

  6. C—变量—register

    Tips 1.寄存器变量可以用来优化加速c语言程序 2.声名只需在类型前多加register 即可,eg register int quick; (quick 就是一个整形的寄存器变量) 3.regi ...

  7. 解决 AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]

    页面报错: ConnectionException In AbstractConnection.php line 155 AUTH` failed: ERR Client sent AUTH, but ...

  8. 解析Spring MVC上传文件

    新建一个普通的maven工程 在pom.xml文件中引入相应的坐标 <?xml version="1.0" encoding="UTF-8"?> & ...

  9. bzoj1009题解

    [解题思路] 先KMP出fail数组,再用fail数组求出M[i][j],表示上一次匹配到第i位,这次可以遇到多少种不同的字符,使之转而匹配到第j位. 设集合S=[1,m]∩N 又设f[i][j]表示 ...

  10. zookeeper3台机器集群环境的搭建

    三台机器zookeeper的集群环境搭建 Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装. 通常由 2n+1台 servers 组成. 这是因为为了保证 Leader 选举(基 ...