枚举窗口

来源:互联网 发布:银魂 空知猩猩 编辑:程序博客网 时间:2024/06/07 03:54
// tt.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>

BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);//回调函数原型

int num=0;
int main()
{
    //成功返回非零
    //BOOL bEnumWnd=EnumWindows((WNDENUMPROC)EnumWindowsProc,(LPARAM)NULL);
    //枚举当前桌面窗口(此函数可以枚举多个桌面的窗口)
    //BOOL bEnumDeskWnd=EnumDesktopWindows(NULL,(WNDENUMPROC)EnumWindowsProc,(LPARAM)NULL);

    //枚举子窗口
    HWND hwnd_find=::FindWindow(NULL,"dating");
    if(hwnd_find!=NULL)
    {    
        BOOL bEnumChildWnd=EnumChildWindows(hwnd_find,(WNDENUMPROC)EnumWindowsProc,(LPARAM)NULL);
    }

    return 0;
}
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
    char WndName[MAX_PATH];
    if (hwnd!=NULL)
    {
        ::GetWindowText(hwnd,WndName,MAX_PATH);
        if (strcmp(WndName,"")!=0)
        {
            num++;
            printf("发现第%d个窗口--->%s\n",num,WndName);
        }
    }
    //返回true继续枚举窗口, 返回false停止枚举窗口
    return true;
}
0 0
原创粉丝点击