home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol12n13.zip / EXELOO.ZIP / EXELOOK.H < prev    next >
C/C++ Source or Header  |  1993-06-23  |  5KB  |  136 lines

  1. //
  2. // ExeLook.H -- Header File for Windows/NT version of ExeLook.C
  3. //
  4.  
  5. #define WIN16     FALSE
  6. #define THUMBPOS  HIWORD(wParam)
  7.  
  8. struct decodeMsg {                          // structure associates
  9.     UINT Code;                              // messages or menu IDs
  10.     LONG (*Fxn)(HWND, UINT, UINT, LONG); }; // with a function
  11.  
  12. struct decodeMenuID {                       // structure associates
  13.     UINT Code;                              // menu ID with a function
  14.     VOID (*Fxn)(VOID);                      // and a window caption
  15.     TCHAR * Name; }; 
  16.  
  17. struct decodeUINT {                         // structure associates
  18.     UINT Code;                              // UINTs with a string
  19.     TCHAR * Name; };                         
  20.  
  21. typedef struct _IMAGE_IMPORT_MODULE_DIRECTORY {
  22.     UINT ImportList;
  23.     UINT Reserved1;
  24.     UINT Reserved2;
  25.     UINT ModuleName;
  26.     UINT Reserved3;
  27.     } IMAGE_IMPORT_MODULE_DIRECTORY, *PIMAGE_IMPORT_MODULE_DIRECTORY;
  28.  
  29. // typedefs for convenience in referring to image structures
  30. typedef IMAGE_DOS_HEADER *                PMZHEADER;
  31. typedef IMAGE_NT_HEADERS *                PPEHEADER;
  32. typedef IMAGE_FILE_HEADER *               PCOFFHEADER;
  33. typedef IMAGE_OPTIONAL_HEADER *           POPTHEADER;
  34. typedef IMAGE_SECTION_HEADER *            PSCNHEADER;
  35. typedef IMAGE_DATA_DIRECTORY *            PDATADIR;
  36. typedef IMAGE_IMPORT_MODULE_DIRECTORY *   PMODULEDIR;
  37. typedef IMAGE_IMPORT_BY_NAME *            PIMPORTNAME;
  38. typedef IMAGE_RESOURCE_DIRECTORY *        PRSRCDIR;
  39. typedef IMAGE_RESOURCE_DIRECTORY_ENTRY *  PRSRCDIRENTRY;
  40. typedef IMAGE_RESOURCE_DIRECTORY_STRING * PRSRCDIRSTR;
  41. typedef IMAGE_RESOURCE_DATA_ENTRY *       PRSRCDATAENTRY;
  42. typedef IMAGE_EXPORT_DIRECTORY *          PEXPORTDIR;
  43.  
  44. // predefined resource types (from RESFMT.DOC on CompuServe)
  45. // (Some RT_ values are defined in WINUSER.H but they cause 
  46. // problems because of the MAKEINTRESOURCE macro)
  47. #define RSRC_NEWRESOURCE    0x2000
  48. #define RSRC_ERROR          0x7fff
  49. #define RSRC_CURSOR         1
  50. #define RSRC_BITMAP         2
  51. #define RSRC_ICON           3
  52. #define RSRC_MENU           4
  53. #define RSRC_DIALOG         5
  54. #define RSRC_STRING         6
  55. #define RSRC_FONTDIR        7
  56. #define RSRC_FONT           8
  57. #define RSRC_ACCELERATOR    9
  58. #define RSRC_RCDATA         10
  59. #define RSRC_MESSAGETABLE   11
  60. #define RSRC_GROUP_CURSOR   12 
  61. #define RSRC_GROUP_ICON     14
  62. #define RSRC_VERSION        16
  63. #define RSRC_DLGINCLUDE     17
  64. #define RSRC_NEWBITMAP      (RSRC_BITMAP|RSRC_NEWRESOURCE)
  65. #define RSRC_NEWMENU        (RSRC_MENU|RSRC_NEWRESOURCE)
  66. #define RSRC_NEWDIALOG      (RSRC_DIALOG|RSRC_NEWRESOURCE)
  67.  
  68. // arbitrary menu identifiers
  69. #define  IDM_OPEN     100
  70. #define  IDM_EXIT     101
  71. #define  IDM_DOSHDR   103
  72. #define  IDM_COFFHDR  104
  73. #define  IDM_OPTHDR   105
  74. #define  IDM_SECT     106
  75. #define  IDM_DATADIR  107
  76. #define  IDM_IMPORT   108
  77. #define  IDM_EXPORT   109
  78. #define  IDM_RESOURCE 110
  79. #define  IDM_RSRCTREE 111
  80. #define  IDM_HELPCONTENTS 200
  81. #define  IDM_HELPSEARCH   201
  82. #define  IDM_HELPONHELP   202
  83. #define  IDM_HELPABOUT    203
  84.  
  85. // Function prototypes
  86. INT APIENTRY WinMain(HANDLE, HANDLE, PSTR, INT);
  87. BOOL InitInstance(HANDLE, INT);
  88. BOOL TermInstance(HANDLE);
  89. LONG CALLBACK FrameWndProc(HWND, UINT, UINT, LONG);
  90. BOOL CALLBACK AboutDlgProc (HWND, UINT, UINT, LONG);
  91. LRESULT CALLBACK WindowsHookProc(INT, UINT, LPMSG);
  92. LONG DoDestroy(HWND, UINT, UINT, LONG);
  93. LONG DoClose(HWND, UINT, UINT, LONG);
  94. LONG DoPaint(HWND, UINT, UINT, LONG);
  95. LONG DoSize(HWND, UINT, UINT, LONG);
  96. LONG DoInitMenu(HWND, UINT, UINT, LONG);
  97. LONG DoCommand(HWND, UINT, UINT, LONG);
  98. LONG DoVScroll(HWND, UINT, UINT, LONG);
  99. LONG DoMenuOpen(HWND, UINT, UINT, LONG);
  100. LONG DoMenuExit(HWND, UINT, UINT, LONG);
  101. LONG DoMenuHelpContents(HWND, UINT, UINT, LONG);
  102. LONG DoMenuHelpSearch(HWND, UINT, UINT, LONG);
  103. LONG DoMenuHelpHelp(HWND, UINT, UINT, LONG);
  104. LONG DoMenuHelpAbout(HWND, UINT, UINT, LONG);
  105. LONG DoDisplayType(HWND, UINT, UINT, LONG);
  106. LONG DoHelpContext(HWND, UINT, UINT, LONG);
  107. VOID Repaint(VOID);
  108. VOID ConfigWindow(VOID);
  109. VOID PaintLine(HDC hdc, INT line);
  110. VOID AddLine(TCHAR *);
  111. VOID SetCurLine(INT);
  112. VOID SetWindowCaption(TCHAR *);
  113. VOID UpdateProfile(VOID);
  114. VOID EmptyLines(VOID);
  115. VOID OpenDataFile(VOID);
  116. VOID CloseDataFile(VOID);
  117. VOID ShowMZHeader(VOID);
  118. VOID ShowCoffHeader(VOID);
  119. VOID ShowOptHeader(VOID);
  120. VOID ShowDataDirectory(VOID);
  121. VOID ShowSections(VOID);
  122. VOID ShowImports(VOID);
  123. VOID ShowExports(VOID);
  124. VOID ShowResources(VOID);
  125. VOID ShowRsrcDir(PRSRCDIR);
  126. VOID ShowRsrcDirEntry(PRSRCDIRENTRY);
  127. VOID ShowRsrcDataEntry(PRSRCDATAENTRY);
  128. VOID ShowResourceTree(VOID);
  129. VOID ShowRsrcTreeDir(PRSRCDIR);
  130. VOID ShowRsrcTreeDirEntry(PRSRCDIRENTRY);
  131. VOID ShowRsrcTreeDataEntry(PRSRCDATAENTRY);
  132. VOID SetHeaderPtrs(VOID);
  133. VOID SetSpaces(INT);
  134.  
  135.  
  136.