显示/隐藏窗口的小程序
配合GTV,写了一个小的程序,可以显示/隐藏窗口其实不仅能隐藏GTV,别的窗口也行
普通使用方法:
解压后放到任意文件夹
直接运行exe,所有可见GTV窗口隐藏,所有隐藏窗口可见
运行show all.bat,显示所有GTV窗口
运行hide all.bat,隐藏所有GTV窗口
高级使用方法:
Usage: showhide
Function:
0: Hide
1: Show
2: Invert
代码很短,贴出来吧
#include <stdio.h>
#include <windows.h>
int function=2; //0=hide 1=show 2=invert
char title="GTV.exe";
char classname="ConsoleWindowClass";
int windowfound=0;
BOOL CALLBACK EnumProc(HWND hwnd, LPARAM lp)
{
//if ((GetWindowLong(hwnd,GWL_STYLE) & WS_VISIBLE)) {
char buf;
char buf2;
GetWindowText(hwnd,buf,1024);
GetClassName(hwnd,buf2,1024);
if (strstr(buf,(char*)title)!=NULL){
if (strstr(buf2,(char*)classname)!=NULL){
if (function==0){
//hide
ShowWindow(hwnd,SW_HIDE);
printf("HIDE: ");
}
else if (function==1){
//show
ShowWindow(hwnd,SW_SHOW);
printf("SHOW: ");
}
else if (function==2){
if ((GetWindowLong(hwnd,GWL_STYLE) & WS_VISIBLE)){
//hide
ShowWindow(hwnd,SW_HIDE);
printf("HIDE: ");
}
else{
//show
ShowWindow(hwnd,SW_SHOW);
printf("SHOW: ");
}
}
printf("HWND=%d Title=%s Class=%s\n",hwnd,buf,buf2);
windowfound++;
}
}
//}
return TRUE;
}
void main( int argc, char *argv[], char *envp[] )
{
//usage
printf("Usage: showhide \n");
printf(" Function:\n");
printf(" 0: Hide\n");
printf(" 1: Show\n");
printf(" 2: Invert\n");
if (argc==2){
function=atoi(argv);
}
else if (argc==3){
function=atoi(argv);
strcpy(title,argv);
}
else if (argc==4){
function=atoi(argv);
strcpy(title,argv);
strcpy(classname,argv);
}
EnumWindows(EnumProc,NULL);
printf("Total Windows Found=%d\n",windowfound);
}
[ 本帖最后由 JUST 于 2008-11-25 13:58 编辑 ] 刚试用了一下,双击showhidewindow.exe报错了。
回复 #2 烦人 的帖子
又是DLL的问题现在把库包含进去了,请再试一下 现在有效了。Good Job! GJ!vista64 有效 非常谢谢JUST啊~~~这样的话我就又可以少写一点代码了~~~ 这工具不错,好用
我把它和GTV放在一起,这样好找一点
页:
[1]