关于EnumChildWindows的用法 能给个例子么? 关于callback函数理解的不好
高手给个简单的例子  谢谢啦

解决方案 »

  1.   

    #include <windows.h>
    #include <stdio.h>
    #include <tlhelp32.h>BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
    {
    if(GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD)
    return TRUE;
    if(!(GetWindowLong(hWnd, GWL_STYLE) & WS_SYSMENU))
    return TRUE;
    if(!(GetWindowLong(hWnd, GWL_STYLE) & WS_VISIBLE))
    return TRUE; static int n = 0;
    char szCaption[MAX_PATH];
    GetWindowText(hWnd, szCaption, MAX_PATH);
    printf("%d: %s\n", ++n, szCaption); DWORD dwProcId = 0;
    GetWindowThreadProcessId(hWnd, &dwProcId);
    HMODULE hModule = (HMODULE)CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcId);
    MODULEENTRY32 me;
    me.dwSize = sizeof(MODULEENTRY32);
    Module32First(hModule, &me);
    printf("\t(%s)\n", me.szExePath);

    return TRUE;
    }int main(int argc, char* argv[])
    {
    EnumWindows((WNDENUMPROC)EnumWindowsProc, NULL); return 0;
    }