如何得到所有前台运得的EXE句丙啊还有如何用RgeisertHotKey()还注册三个键的热键啊

解决方案 »

  1.   

    #include <windows.h>
    #include <STDIO.H>
    BOOL myEnumWindow(HWND hwnd);
    int  main()
    {
    myEnumWindow(NULL);
    return 0;
    }BOOL myEnumWindow(HWND inHwnd)
    {
    char szText[256];HWND hwndAfter = NULL;
    while(hwndAfter = ::FindWindowEx(inHwnd,hwndAfter,NULL,NULL))
    {
    memset(szText,0,256);
    ::SendMessage(hwndAfter,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
    printf("%s\t",szText);
    myEnumWindow(hwndAfter);
    }
    return 1;
    }
      

  2.   

    只要顶层窗口的话就不要递归
    #include <windows.h>
    #include <STDIO.H>
    BOOL myEnumWindow(HWND hwnd);
    int  main()
    {
    myEnumWindow(NULL);
    return 0;
    }BOOL myEnumWindow(HWND inHwnd)
    {
    char szText[256];HWND hwndAfter = NULL;
    while(hwndAfter = ::FindWindowEx(inHwnd,hwndAfter,NULL,NULL))
    {
    memset(szText,0,256);
    ::SendMessage(hwndAfter,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
    printf("%s\t",szText);
    //myEnumWindow(hwndAfter);
    }
    return 1;
    }
      

  3.   

    szText
    好像不是窗口的句柄啊