学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面。对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台,有时候需要将界面隐藏起来。那么如何做呢?

方法1:
在头文件下加上一句预处理命令:

#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置入口地址

完整程序为:


#include<windows.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置入口地址
int main()
{MessageBox(NULL,"Hello","Notice",NULL);return 0;
}

在编译器下运行时仍会出现黑框,但直接运行编译好的exe程序就不会显示黑框了

方法2:
使用API函数隐藏自身窗口,但会有黑框快速闪过的痕迹。代码如下:

#include<windows.h>
int main()
{HWND hwnd;hwnd=FindWindow("ConsoleWindowClass",NULL); //处理顶级窗口的类名和窗口名称匹配指定的字符串,不搜索子窗口。if(hwnd){ShowWindow(hwnd,SW_HIDE);               //设置指定窗口的显示状态}MessageBox(NULL,"Hello","Notice",MB_OK);system("pause");return 0;
}

运行效果:在编译器下运行和直接运行exe文件,都会有黑屏闪烁一下。

方法3:
一个人自身的力量毕竟有限,所有有时候需要借助外力,自己办不到的可以让好朋友帮忙,程序也同样如此,内部实现不了的功能可以让外部程序帮自己实现。

再用C\C++写一个引导程序,让引导程序隐藏调用该程序。假设要隐藏运行记事本程序,代码如下:


#include<windows.h>
int main()
{WinExec("notepad.exe",SW_HIDE);     //隐藏执行其他程序return 0;
}

运行效果:完全隐藏

方法4:
既然思路以及不再局限到程序自身,那么其实就有了很多很多中外部隐藏调用的方法,只要你的知识面足够宽那么解决方法就会足够多。比如,C#、Java、Python、Ruby、VB、Delphi等等都可以。最后再用VBScript写一个吧。代码如下:

set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("你的程序.exe", 0, FALSE)  'Run()
'第一个参数是你要执行的程序的路径,亦可传参
'第二个参数是窗口的形式,0后台运行;1正常运行;2最小化;3最大化;缺省的话表示正常运行
'第三个参数是表示这个脚本是等待还是继续执行,如果设为了True,脚本就会等待调用的程序退出后再向后执行。

运行效果:完全隐藏

控制台程序隐藏方法总结(四种)相关推荐

  1. python爬虫详细步骤-Python爬虫的两套解析方法和四种爬虫实现过程

    对于大多数朋友而言,爬虫绝对是学习 python 的最好的起手和入门方式.因为爬虫思维模式固定,编程模式也相对简单,一般在细节处理上积累一些经验都可以成功入门.本文想针对某一网页对 python 基础 ...

  2. c语言怎么改变程序的图标,VC6.0 控制台程序添加图标的两种方法

    如何给C控制台程序添加图标说来很惭愧的问题,C语言也算学了很长一阵子,目前还是停留在控制台的水平,今天用着用着突然想给程序换个图标,却找不到在哪设置,又没窗体,在哪弄呢?百度N久,找到如下两种解决方案 ...

  3. HTML和CSS隐藏元素的四种方法

    第一种:display:none 特点:不占据屏幕空间 显示:display:block <!DOCTYPE html> <html lang="en">& ...

  4. C# 控制台程序 隐藏控制台窗口

    在某些项目中,需要采用控制台程序,但是又不需要通过dos窗口进行交互,同时打算隐藏掉难看的控制台窗口.实现的方法很多,有的是修改链接命令.我采用的方法略有些麻烦,首先是给窗口命名,之后找到该窗口指针, ...

  5. 【Python基础】Python爬虫的两套解析方法和四种信息提取方式

    Python爬虫 Author:Iouwill Machine Learning Lab 分享一篇往日旧文章,非常实用. 对于大多数朋友而言,爬虫绝对是学习python的最好的起手和入门方式.因为爬虫 ...

  6. C++计算耗时方法(四种方法)

    前言 本博客将给出四种在 C++ 中可用于 计算算法耗时 的方法. 方法(推荐方法4) 1(返回的是CPU时钟计时单元,每秒为1000个时钟周期)(单位为s,可精确到小数点后三位) #include ...

  7. 【小家java】交换两个变量数值的方法(四种方法)

    相关阅读 [小家java]java5新特性(简述十大新特性) 重要一跃 [小家java]java6新特性(简述十大新特性) 鸡肋升级 [小家java]java7新特性(简述八大新特性) 不温不火 [小 ...

  8. 隐藏div的四种方式

    隐藏div是指所选择的div不显示在页面上,但是隐藏后有两种效果 1.隐藏过后的div的位置还是被占用了 2.隐藏过后的div的位置没有被占用 下面看几种隐藏div的方法 <!DOCTYPE h ...

  9. 简单理解判断类型的方法(四种)

    判断类型有四种方法(不全但是相对来说挺全了,而且也够用了) 1.typeof 2.instanceof 3.constructor 4Object.prototypy.tostring.call() ...

最新文章

  1. c++ map 的基本操作
  2. python中figsize什么意思_matplotlib 设置图形大小时 figsize 与 dpi 的关系
  3. sql server 的 money类型
  4. android Q版本外部存储问题以及获取空间大小问题
  5. Angular 依赖注入的一个常见错误 NullInjectorError, No provider for XXX
  6. innodb存储引擎 - 锁
  7. 无线网络,把我整惨了。求助各位了。
  8. 数据结构和算法 D3
  9. win10wifi多了数字_win10系统电脑查看wifi密码是多少的方法
  10. 违反计算机信息网络国际联网安全,给你普及一下为了加强对计算机信息网络国际联网的安全保护,维护公共秩序和社会稳定,早在1997年12月30日【刁爱青吧】_百度贴吧...
  11. android真机调试
  12. 安卓手机投屏软件_适合智能电视手机投屏的软件
  13. 2007舜宇杯ACM程序设计浙江省赛结果
  14. MATLAB-视频的前景目标提取
  15. BZOJ2668:[CQOI2012]交换棋子——题解
  16. 【MFC】学习笔记:文件操作类——CFile
  17. Golang: glog 的使用
  18. Aurora8B10B IP使用 -05- 收发测试应用示例
  19. 影流之主——stm32OLED显示一张图片方法基于战舰
  20. aardio - 阴影渐变文字

热门文章

  1. java 线程类 通信_Java 中利用管道实现线程间的通讯
  2. burpsuite csrf攻击_WEB安全之CSRF
  3. Callable创建多线程
  4. 在下列计算机应用项目中,属于过程控制应用领域的是,计算机基础试题.ppt
  5. mp4v2 写mp4 java_使用mp4v2将H264+AAC合成mp4文件
  6. ad20中怎么多选操作改层_在操作系统中CPU是怎么调度的
  7. hp 导出日志 远程管理卡_惠普服务器远程管理卡安装详解
  8. 三点外接圆_故地重游伪切圆——伪外接圆的基本性质
  9. leetcode面试题 02.08. 环路检测
  10. leetcode300 最长上升子序列