很多时候希望写的程序在后台静默执行,不显示那个黑色的控制台窗口。通过网上的设定入口点方法并没有用。不过通过查各种资料发现可以用一个自带的API实现。
首先可以写一个函数专门来隐藏窗口,再在main函数中引用函数即可。内容如下:
void HideWindow() {
HWND hwnd = GetForegroundWindow(); //获取程序启动时的窗口
if (hwnd) {
ShowWindow(hwnd, SW_HIDE); //设置指定窗口的显示状态
注意程序开头需要#include <windows.h>
主函数中引用它,发现就可以了!
完整代码:
#include <windows.h>
using namespace std;
void HideWindow() {
HWND hwnd = GetForegroundWindow();
if (hwnd) {
ShowWindow(hwnd, SW_HIDE);
int main() {
HideWindow();
system("pause");
虽然我上面用了pause语句,但是运行一下你发现还是看不到它了。在任务管理器里面可以找到并结束程序。
总结来说就是先创建HWND对象找到窗口句柄再设定其隐藏但不隐藏子窗口即可。
C语言也可以这么写,是一样的。
很多时候希望写的程序在后台静默执行,不显示那个黑色的控制台窗口。通过网上的设定入口点方法并没有用。不过通过查各种资料发现可以用一个自带的API实现。首先可以写一个函数专门来隐藏窗口,再在main函数中引用函数即可。内容如下:void HideWindow() { HWND hwnd = FindWindow("ConsoleWindowClass", NULL); //处理顶级窗口的类名和窗口名称匹配指定的名字但不搜索子窗口 if (hwnd) { ShowWindow(hwnd, SW_
通常使用C/C++编写的windows控制台程序都是在Dos下运行,当一个程序去调用这个控制台程序(比如你的脚本工具,等等)时往往会弹出黑黑的DOS框,这非常让人不爽。特别是在做一些自动化测试的时候,频繁的弹窗甚至让人无法正常开展其他工作,于是就编写了这个工具,消除弹DOS框
本程序使用VC++ 2010编译,所以无法运行的同学请安装VC++ 2010运行库
学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面。对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台,有时候需要将界面隐藏起来。那么如何做呢?
在头文件下加上一句预处理命令:
#pragma comment( linker, "/subsystem:\"windows\...
#include "stdio.h"
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")//不显示窗口
#pragma comment(linker,"/MERGE:.rdata=.text /MERGE:.data=.text /SECTION:.text,EWR")//减小编译体积
//设置一下...
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
在程序中加上如上语句,可以隐藏控制台窗口。
完整代码:
#include<windows.h>
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) // 设置入口地址
int main()
MessageBox(NULL..
大家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似dos窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出.下面就介绍一下,如何隐藏win32 console application的console窗口 .
因为此种方法是通过设置编译器的链
#ifdef UNICODE
#pragma comment(linker, "/SUBSYSTEM:\"WINDOWS\" /Entry:\"wmainCRTStartup\"")
#else
#pragma comment(linker, "/SUBSYSTEM:\"WINDOWS\" /Entry:\"mainCRTStartup\"")