JUST 发表于 2008-11-25 13:18:17

显示/隐藏窗口的小程序

配合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 编辑 ]

烦人 发表于 2008-11-25 13:52:40

刚试用了一下,双击showhidewindow.exe报错了。

JUST 发表于 2008-11-25 13:59:04

回复 #2 烦人 的帖子

又是DLL的问题
现在把库包含进去了,请再试一下

烦人 发表于 2008-11-25 14:06:40

现在有效了。Good Job!

Julian_Yuen 发表于 2008-11-25 17:23:47

GJ!vista64 有效

fwjmath 发表于 2008-11-25 19:40:24

非常谢谢JUST啊~~~这样的话我就又可以少写一点代码了~~~

扎西 发表于 2008-11-26 08:08:26

这工具不错,好用
我把它和GTV放在一起,这样好找一点
页: [1]
查看完整版本: 显示/隐藏窗口的小程序

论坛官方淘宝店开业啦~