|
|
1.1 ! root 1: ! 2: /******************************************************************************\ ! 3: * This is a part of the Microsoft Source Code Samples. ! 4: * Copyright (C) 1993 Microsoft Corporation. ! 5: * All rights reserved. ! 6: * This source code is only intended as a supplement to ! 7: * Microsoft Development Tools and/or WinHelp documentation. ! 8: * See these sources for detailed information regarding the ! 9: * Microsoft samples programs. ! 10: \******************************************************************************/ ! 11: ! 12: /*****************************************************************************\ ! 13: * ! 14: * Module: spy.h ! 15: * ! 16: * Main include file for the Windows debugging Spy SDK applet. ! 17: * ! 18: \*****************************************************************************/ ! 19: ! 20: #include <windows.h> ! 21: ! 22: #include "dialogs.h" ! 23: #include "..\hook.h" ! 24: ! 25: ! 26: #define MAXSTRING MAX_PATH ! 27: ! 28: #define LINES_MAX 250 // Max lines allowed in window. ! 29: ! 30: ! 31: // ! 32: // Message Table Flags ! 33: // ! 34: #define MTF_SELECTED 0x00000001 ! 35: ! 36: #define MTF_TYPE_MOUSE 0x00010000 ! 37: #define MTF_TYPE_DDE 0x00020000 ! 38: #define MTF_TYPE_CLIP 0x00040000 ! 39: #define MTF_TYPE_NC 0x00080000 ! 40: #define MTF_TYPE_KEYBD 0x00100000 ! 41: #define MTF_TYPE_LB 0x00200000 ! 42: #define MTF_TYPE_BM 0x00400000 ! 43: #define MTF_TYPE_STM 0x00800000 ! 44: #define MTF_TYPE_CB 0x01000000 ! 45: #define MTF_TYPE_EM 0x02000000 ! 46: ! 47: ! 48: // ! 49: // Menu ids. ! 50: // ! 51: ! 52: #define MENU_SPY_SELECTWINDOW 1000 ! 53: #define MENU_SPY_ABOUT 1001 ! 54: #define MENU_SPY_EXIT 1002 ! 55: ! 56: #define MENU_EDIT_CUT 1100 ! 57: #define MENU_EDIT_COPY 1101 ! 58: #define MENU_EDIT_CLEAR 1102 ! 59: ! 60: #define MENU_OPTIONS_MESSAGES 1200 ! 61: #define MENU_OPTIONS_FONT 1201 ! 62: #define MENU_OPTIONS_OUTPUT 1202 ! 63: ! 64: #define MENU_START 1300 ! 65: #define MENU_STOP 1301 ! 66: ! 67: // ! 68: // Position of the top level Start/Stop menu item. ! 69: // ! 70: #define MENUPOS_STARTSTOP 3 ! 71: ! 72: ! 73: // ! 74: // Prototype for the Message Decode functions. ! 75: // ! 76: typedef VOID (*LPFNDECODE)(HWND, UINT, PSPYMSGDATA); ! 77: ! 78: ! 79: // ! 80: // The Message Description Table structure that describes each message ! 81: // that Spy understands. ! 82: // ! 83: typedef struct ! 84: { ! 85: LPTSTR pszMsg; ! 86: UINT msg; ! 87: UINT Flags; ! 88: LPFNDECODE pfnDecode; ! 89: } MSGDESC, *PMSGDESC; ! 90: ! 91: ! 92: // ! 93: // The message group structure. A table of these structures describes ! 94: // each different group of messages that can be selected/deselected ! 95: // for spying on using the Messages dialog. ! 96: // ! 97: typedef struct ! 98: { ! 99: INT idCheckBox; ! 100: DWORD flMask; ! 101: INT cMsgs; ! 102: INT cUseCount; ! 103: } MSGGROUP, *PMSGGROUP; ! 104: ! 105: ! 106: extern HANDLE ghInst; ! 107: extern HWND ghwndSpyApp; ! 108: extern HWND ghwndPrintf; ! 109: extern HANDLE ghHookThread; ! 110: extern HWND ghwndSpyHook; ! 111: extern HWND ghwndSpyingOn; // The window we are spying on. ! 112: extern HFONT ghfontPrintf; ! 113: extern INT gnLines; ! 114: extern BOOL gfSpyOn; ! 115: extern BOOL gfSpyAll; ! 116: extern BOOL gfOutputWin; ! 117: extern BOOL gfOutputCom1; ! 118: extern BOOL gfOutputFile; ! 119: extern HFILE gfhFile; ! 120: extern CHAR gszFile[]; ! 121: extern INT gcxBorder; ! 122: extern INT gcyBorder; ! 123: extern BOOL gfMsgsUser; ! 124: extern BOOL gfMsgsUnknown; ! 125: extern CHAR gszAppName[]; ! 126: extern WINDOWPLACEMENT gwndpl; ! 127: ! 128: extern MSGDESC gaMsgs[]; ! 129: extern INT gcMessages; ! 130: extern MSGGROUP gaMsgGroup[]; ! 131: extern INT gcMsgGroups; ! 132: extern INT gaiSelected[]; ! 133: extern INT gaiSelected2[]; ! 134: ! 135: ! 136: #include "spyfuncs.h" ! 137: #include "wprintf.h"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.