#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. <Git>git学习

    1.安装 分布式版本控制:工作电脑保存完整的代码,中央服务器挂了也可以使用 集中式版本控制:中央服务器挂了就凉凉 sudo apt-get install git git安装 检测安装成功 git 2 ...

  2. VMware中 CentOS7挂载windows共享文件夹

    在编译自己的hadoop时,不想再次在虚拟机中下载jar包,就想到了挂载自己本地的maven仓库,使用本地仓库来进行编译,这里就需要使用VMware的VMware Tools了,直接复制官方文档如下 ...

  3. VUE 中 使用 iview Form组件 enter键防止页面刷新

    <Form :label-width="100" inline label-position='left' @keydown.native.enter.prevent =&q ...

  4. python--reflect

    一.反射 python 中用字符串的方式操作对象的相关属性,python 中一切皆对象,都可以使用反射 用eval 有安全隐患,用 反射就很安全 1.反射对象中的属性和方法 class A: a_cl ...

  5. hadoop系列(二)分布式文件系统HDFS

    根据core-site.xml的配置,接下来就可以通过:hdfs://localhost:9000来对hdfs进行操作了. 1.创建输入目录 C:\WINDOWS\system32>hadoop ...

  6. 移动端使用fastclick 解决

    html vue 1. cnpm i fastclick --save 2. 在main.js中引入并绑定到body import fastclick from 'fastclick'; 3. fas ...

  7. CSIC_716_20191207【并发编程---进程与线程】

    僵尸进程与孤儿进程 ........... 守护进程 from Multiprocessing  import Process 在 suboprocess.start( ) 的上一行,增加 subpr ...

  8. Redis探索之路(七):Redis高级使用特性

    一:安全性 设置客户端连接后进行任何其他指定前需要使用的密码. 因为Redis的速度非常之快,一台比较好的服务器下,一个外部的用户可以在1s内进行15万次的密码尝试连接,这就意味着你需要指定非常强大的 ...

  9. 使用threading模块创建线程

    #_author:来童星#date:2019/12/17#使用threading模块创建线程import threading,timedef process(): for i in range(3): ...

  10. js简单图片切换

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...