|
|
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.