home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / VOL12N03.ZIP / EXELOO.ZIP / EXELOOK.H < prev    next >
Text File  |  1993-01-12  |  5KB  |  129 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_ABOUT    102
  72. #define  IDM_DOSHDR   103
  73. #define  IDM_COFFHDR  104
  74. #define  IDM_OPTHDR   105
  75. #define  IDM_SECT     106
  76. #define  IDM_DATADIR  107
  77. #define  IDM_IMPORT   108
  78. #define  IDM_EXPORT   109
  79. #define  IDM_RESOURCE 110
  80. #define  IDM_RSRCTREE 111
  81.  
  82.  
  83. // Function prototypes
  84. INT APIENTRY WinMain(HANDLE, HANDLE, PSTR, INT);
  85. BOOL InitInstance(HANDLE, INT);
  86. BOOL TermInstance(HANDLE);
  87. LONG CALLBACK FrameWndProc(HWND, UINT, UINT, LONG);
  88. BOOL CALLBACK AboutDlgProc (HWND, UINT, UINT, LONG);
  89. LONG DoDestroy(HWND, UINT, UINT, LONG);
  90. LONG DoClose(HWND, UINT, UINT, LONG);
  91. LONG DoPaint(HWND, UINT, UINT, LONG);
  92. LONG DoSize(HWND, UINT, UINT, LONG);
  93. LONG DoInitMenu(HWND, UINT, UINT, LONG);
  94. LONG DoCommand(HWND, UINT, UINT, LONG);
  95. LONG DoVScroll(HWND, UINT, UINT, LONG);
  96. LONG DoMenuOpen(HWND, UINT, UINT, LONG);
  97. LONG DoMenuExit(HWND, UINT, UINT, LONG);
  98. LONG DoMenuAbout(HWND, UINT, UINT, LONG);
  99. LONG DoDisplayType(HWND, UINT, UINT, LONG);
  100. VOID Repaint(VOID);
  101. VOID ConfigWindow(VOID);
  102. VOID PaintLine(HDC hdc, INT line);
  103. VOID AddLine(TCHAR *);
  104. VOID SetCurLine(INT);
  105. VOID SetWindowCaption(TCHAR *);
  106. VOID UpdateProfile(VOID);
  107. VOID EmptyLines(VOID);
  108. VOID OpenDataFile(VOID);
  109. VOID CloseDataFile(VOID);
  110. VOID ShowMZHeader(VOID);
  111. VOID ShowCoffHeader(VOID);
  112. VOID ShowOptHeader(VOID);
  113. VOID ShowDataDirectory(VOID);
  114. VOID ShowSections(VOID);
  115. VOID ShowImports(VOID);
  116. VOID ShowExports(VOID);
  117. VOID ShowResources(VOID);
  118. VOID ShowRsrcDir(PRSRCDIR);
  119. VOID ShowRsrcDirEntry(PRSRCDIRENTRY);
  120. VOID ShowRsrcDataEntry(PRSRCDATAENTRY);
  121. VOID ShowResourceTree(VOID);
  122. VOID ShowRsrcTreeDir(PRSRCDIR);
  123. VOID ShowRsrcTreeDirEntry(PRSRCDIRENTRY);
  124. VOID ShowRsrcTreeDataEntry(PRSRCDATAENTRY);
  125. VOID SetHeaderPtrs(VOID);
  126. VOID SetSpaces(INT);
  127.  
  128.  
  129.