home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / PROG / C_PLUS / CNVLIB2 / WINENUM.CMD < prev    next >
Encoding:
Text File  |  1994-01-07  |  1.7 KB  |  65 lines

  1. EXTPROC CEnvi
  2.  
  3. #define HWND_DESKTOP 1
  4. #define HWND_OBJECT  2
  5.  
  6. printf("Desktop Windows:");
  7. EnumerateAllChildren(HWND_DESKTOP,1);
  8. printf("\nObject Windows:");
  9. EnumerateAllChildren(HWND_OBJECT,1);
  10.  
  11.  
  12. EnumerateAllChildren(ParentHandle,IndentLevel)
  13. {
  14.    EnumHandle = WinBeginEnumWindows(ParentHandle);
  15.    while( NULL != (WinHandle = WinGetNextWindow(EnumHandle)) ) {
  16.       Queue = GetWindowQueue(WinHandle);
  17.       printf("\n");
  18.       for ( i = 0; i < IndentLevel; i++ ) printf(" ");
  19.       printf("%08X  queue = %04X",WinHandle,Queue);
  20.       EnumerateAllChildren(WinHandle,IndentLevel+1);
  21.    }
  22.    WinEndEnumWindows(EnumHandle);
  23. }
  24.  
  25. WinBeginEnumWindows(hwndParent)
  26. {
  27.    #define ORD_WIN32BEGINENUMWINDOWS   702
  28.    return PMDynamicLink("PMWIN",ORD_WIN32BEGINENUMWINDOWS,BIT32,CDECL,hwndParent)
  29. }
  30.  
  31. WinGetNextWindow(henum)
  32. {
  33.    #define ORD_WIN32GETNEXTWINDOW      756
  34.    return PMDynamicLink("PMWIN",ORD_WIN32GETNEXTWINDOW,BIT32,CDECL,henum)
  35. }
  36.  
  37. WinEndEnumWindows(henum)
  38. {
  39.    #define ORD_WIN32ENDENUMWINDOWS     737
  40.    return PMDynamicLink("PMWIN",ORD_WIN32ENDENUMWINDOWS,BIT32,CDECL,henum)
  41. }
  42.  
  43. GetWindowQueue(hwnd)
  44. {
  45.    #define ORD_WIN32QUERYWINDOWULONG   843
  46.    #define QWL_HMQ   (-4)
  47.    return PMDynamicLink("PMWIN",ORD_WIN32QUERYWINDOWULONG,BIT32,CDECL,
  48.                         hwnd,QWL_HMQ)
  49. }
  50.  
  51. ShowQueueInfo(hmq)
  52. {
  53.    #define ORD_WIN32QUERYQUEUEINFO  824
  54.    BLOBSize(qinfo,4 * 5);
  55.    success = PMDynamicLink("PMWIN",ORD_WIN32QUERYQUEUEINFO,BIT32,CDECL,
  56.                            hmq,qinfo,BLObSize(qinfo));
  57.    if ( !success ) {
  58.       printf("QInfo failed\n");
  59.    } else {
  60.       MessageCount = BLObGet(qinfo,4 * 3,UWORD32);
  61.       printf("  MessageCount = %d",MessageCount);
  62.    }
  63. }
  64.  
  65.