CMD:隐藏窗口
CMD:隐藏窗口
本篇文章是原创文章,转载请声明出处:
https://blog.****.net/Lemopig/article/details/83243236
在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.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;
}