CMD:隐藏窗口

CMD:隐藏窗口

本篇文章是原创文章,转载请声明出处:
https://blog.****.net/Lemopig/article/details/83243236
CMD:隐藏窗口

在CMD中:

了解少的人需要知道:

最小化不等于隐藏!

以下介绍一种连窗口都看不见的后台程序

而且可以在隐藏和显示中来回转换

这时候,C++再一次派上了用场

转折:

C++:利用输出控制台的句柄实现转换,并与CMD嵌合

Handle:hwnd=GetForegroundWindow()

#include<cstdio>
#include<cstring>
#include<windows.h>
inline void help();
int main(int argc,char**argv){
	HWND hwnd=GetForegroundWindow();
	if(argc==0)return 0;
	else if(argc==1)return 0;
	bool f=false;
	if(argv[1][1]=='s'){
		ShowWindow(hwnd,true);
	}else if(argv[1][1]=='h'){
		ShowWindow(hwnd,false);
	}else help();
	putchar(argv[1][1]);
	return 0;
}
inline void help(){
	printf("\n-s:显示,-h:隐藏\n");
	return;
}

展示一张C++句柄窗口隐藏效果图:
CMD:隐藏窗口

我们可以看到cmd.exe在运行,但任务栏及屏幕没有显示cmd!

函数讲解:

#include<windows.h>
int main(){
	HWND hwnd=GetForegroundWindow();
	ShowWindow(hwnd,true);
}

hwnd=GetForegroundWindow():前端窗口句柄

完善程序:(后边有成型的程序了)

#include<cstdio>
#include<cstring>
#include<windows.h>
inline void help();
int main(int argc,char**argv){
	HWND hwnd=GetForegroundWindow();
	if(argc==0)return 0;
	else if(argc==1)return 0;
	bool f=false;
	if(argv[1][1]=='s'){
		ShowWindow(hwnd,true);
	}else if(argv[1][1]=='h'){
		ShowWindow(hwnd,false);
	}else help();
	putchar(argv[1][1]);
	return 0;
}
inline void help(){
	printf("\n-s:显示,-h:隐藏\n");
	return;
}

Exe版下载地址:
Show.exe
这个程序还是小朋友CM制作的
****传资源付费,于是他把程序放在了上面的链接上

用法:

show /? 查看用法
show -s 显示
show -h 隐藏

好累啊

最终通用程序(C++):

#include<cstdio>
#include<cstring>
#include<windows.h>
inline void help();
int main(int argc,char**argv){
	HWND hwnd=GetForegroundWindow();
	if(argc==0)return 0;
	else if(argc==1)return 0;
	bool f=false;
	if(argv[1][1]=='s'){
		ShowWindow(hwnd,true);
	}else if(argv[1][1]=='h'){
		ShowWindow(hwnd,false);
	}else help();
	putchar(argv[1][1]);
	return 0;
}
inline void help(){
	printf("\n-s:显示,-h:隐藏\n");
	return;
}