Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Message spying routines |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 3 | * |
| 4 | * Copyright 1994, Bob Amstadt |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 5 | * 1995, Alex Korobka |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 6 | */ |
| 7 | |
Alexandre Julliard | 8bbf818 | 1996-09-13 16:50:47 +0000 | [diff] [blame] | 8 | #define NO_TRANSITION_TYPES /* This file is Win32-clean */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 9 | #include <stdlib.h> |
| 10 | #include <stdio.h> |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 11 | #include <string.h> |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 12 | #include "windows.h" |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 13 | #include "module.h" |
Alexandre Julliard | 86a8d0f | 1994-01-18 23:04:40 +0000 | [diff] [blame] | 14 | #include "options.h" |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 15 | #include "stddebug.h" |
| 16 | #include "debug.h" |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 17 | #include "spy.h" |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 18 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 19 | #define SPY_MAX_MSGNUM WM_USER |
| 20 | #define SPY_INDENT_UNIT 4 /* 4 spaces */ |
| 21 | |
Alexandre Julliard | d90840e | 1996-06-11 16:02:08 +0000 | [diff] [blame] | 22 | static const char * const MessageTypeNames[SPY_MAX_MSGNUM + 1] = |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 23 | { |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 24 | "wm_null", /* 0x00 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 25 | "WM_CREATE", |
| 26 | "WM_DESTROY", |
| 27 | "WM_MOVE", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 28 | "wm_sizewait", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 29 | "WM_SIZE", |
| 30 | "WM_ACTIVATE", |
| 31 | "WM_SETFOCUS", |
| 32 | "WM_KILLFOCUS", |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 33 | "WM_SETVISIBLE", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 34 | "WM_ENABLE", |
| 35 | "WM_SETREDRAW", |
| 36 | "WM_SETTEXT", |
| 37 | "WM_GETTEXT", |
| 38 | "WM_GETTEXTLENGTH", |
| 39 | "WM_PAINT", |
| 40 | "WM_CLOSE", /* 0x10 */ |
| 41 | "WM_QUERYENDSESSION", |
| 42 | "WM_QUIT", |
| 43 | "WM_QUERYOPEN", |
| 44 | "WM_ERASEBKGND", |
| 45 | "WM_SYSCOLORCHANGE", |
| 46 | "WM_ENDSESSION", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 47 | "wm_systemerror", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 48 | "WM_SHOWWINDOW", |
| 49 | "WM_CTLCOLOR", |
| 50 | "WM_WININICHANGE", |
| 51 | "WM_DEVMODECHANGE", |
| 52 | "WM_ACTIVATEAPP", |
| 53 | "WM_FONTCHANGE", |
| 54 | "WM_TIMECHANGE", |
| 55 | "WM_CANCELMODE", |
| 56 | "WM_SETCURSOR", /* 0x20 */ |
| 57 | "WM_MOUSEACTIVATE", |
| 58 | "WM_CHILDACTIVATE", |
| 59 | "WM_QUEUESYNC", |
| 60 | "WM_GETMINMAXINFO", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 61 | "wm_unused3", |
| 62 | "wm_painticon", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 63 | "WM_ICONERASEBKGND", |
| 64 | "WM_NEXTDLGCTL", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 65 | "wm_alttabactive", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 66 | "WM_SPOOLERSTATUS", |
| 67 | "WM_DRAWITEM", |
| 68 | "WM_MEASUREITEM", |
| 69 | "WM_DELETEITEM", |
| 70 | "WM_VKEYTOITEM", |
| 71 | "WM_CHARTOITEM", |
| 72 | "WM_SETFONT", /* 0x30 */ |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 73 | "WM_GETFONT", |
| 74 | "WM_SETHOTKEY", |
| 75 | "WM_GETHOTKEY", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 76 | "wm_filesyschange", |
| 77 | "wm_isactiveicon", |
| 78 | "wm_queryparkicon", |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 79 | "WM_QUERYDRAGICON", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 80 | "wm_querysavestate", |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 81 | "WM_COMPAREITEM", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 82 | "wm_testing", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 83 | NULL, |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 84 | "wm_otherwindowcreated", |
| 85 | "wm_otherwindowdestroyed", |
| 86 | "wm_activateshellwindow", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 87 | NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 88 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 89 | NULL, /* 0x40 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 90 | "wm_compacting", NULL, NULL, |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 91 | "WM_COMMNOTIFY", NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 92 | "WM_WINDOWPOSCHANGING", /* 0x0046 */ |
| 93 | "WM_WINDOWPOSCHANGED", /* 0x0047 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 94 | "WM_POWER", NULL, |
| 95 | "WM_COPYDATA", |
| 96 | "WM_CANCELJOURNAL", NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 97 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 98 | NULL, /* 0x0050 */ |
| 99 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 100 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 101 | |
| 102 | /* 0x0060 */ |
| 103 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 104 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 105 | |
| 106 | /* 0x0070 */ |
| 107 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 108 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 109 | |
| 110 | NULL, /* 0x0080 */ |
| 111 | "WM_NCCREATE", /* 0x0081 */ |
| 112 | "WM_NCDESTROY", /* 0x0082 */ |
| 113 | "WM_NCCALCSIZE", /* 0x0083 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 114 | "WM_NCHITTEST", /* 0x0084 */ |
| 115 | "WM_NCPAINT", /* 0x0085 */ |
| 116 | "WM_NCACTIVATE", /* 0x0086 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 117 | "WM_GETDLGCODE", /* 0x0087 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 118 | "wm_syncpaint", |
| 119 | "wm_synctask", NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 120 | |
| 121 | /* 0x0090 */ |
| 122 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 123 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 124 | |
| 125 | /* 0x00A0 */ |
Alexandre Julliard | 5819953 | 1994-04-21 01:20:00 +0000 | [diff] [blame] | 126 | "WM_NCMOUSEMOVE", /* 0x00A0 */ |
| 127 | "WM_NCLBUTTONDOWN", /* 0x00A1 */ |
| 128 | "WM_NCLBUTTONUP", /* 0x00A2 */ |
| 129 | "WM_NCLBUTTONDBLCLK", /* 0x00A3 */ |
| 130 | "WM_NCRBUTTONDOWN", /* 0x00A4 */ |
| 131 | "WM_NCRBUTTONUP", /* 0x00A5 */ |
| 132 | "WM_NCRBUTTONDBLCLK", /* 0x00A6 */ |
| 133 | "WM_NCMBUTTONDOWN", /* 0x00A7 */ |
| 134 | "WM_NCMBUTTONUP", /* 0x00A8 */ |
| 135 | "WM_NCMBUTTONDBLCLK", /* 0x00A9 */ |
| 136 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 137 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 138 | /* 0x00B0 - Win32 Edit controls */ |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 139 | "EM_GETSEL32", /* 0x00b0 */ |
| 140 | "EM_SETSEL32", /* 0x00b1 */ |
| 141 | "EM_GETRECT32", /* 0x00b2 */ |
| 142 | "EM_SETRECT32", /* 0x00b3 */ |
| 143 | "EM_SETRECTNP32", /* 0x00b4 */ |
| 144 | "EM_SCROLL32", /* 0x00b5 */ |
| 145 | "EM_LINESCROLL32", /* 0x00b6 */ |
| 146 | "EM_SCROLLCARET32", /* 0x00b7 */ |
| 147 | "EM_GETMODIFY32", /* 0x00b8 */ |
| 148 | "EM_SETMODIFY32", /* 0x00b9 */ |
| 149 | "EM_GETLINECOUNT32", /* 0x00ba */ |
| 150 | "EM_LINEINDEX32", /* 0x00bb */ |
| 151 | "EM_SETHANDLE32", /* 0x00bc */ |
| 152 | "EM_GETHANDLE32", /* 0x00bd */ |
| 153 | "EM_GETTHUMB32", /* 0x00be */ |
| 154 | NULL, /* 0x00bf */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 155 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 156 | NULL, /* 0x00c0 */ |
| 157 | "EM_LINELENGTH32", /* 0x00c1 */ |
| 158 | "EM_REPLACESEL32", /* 0x00c2 */ |
| 159 | NULL, /* 0x00c3 */ |
| 160 | "EM_GETLINE32", /* 0x00c4 */ |
| 161 | "EM_LIMITTEXT32", /* 0x00c5 */ |
| 162 | "EM_CANUNDO32", /* 0x00c6 */ |
| 163 | "EM_UNDO32", /* 0x00c7 */ |
| 164 | "EM_FMTLINES32", /* 0x00c8 */ |
| 165 | "EM_LINEFROMCHAR32", /* 0x00c9 */ |
| 166 | NULL, /* 0x00ca */ |
| 167 | "EM_SETTABSTOPS32", /* 0x00cb */ |
| 168 | "EM_SETPASSWORDCHAR32", /* 0x00cc */ |
| 169 | "EM_EMPTYUNDOBUFFER32", /* 0x00cd */ |
| 170 | "EM_GETFIRSTVISIBLELINE32", /* 0x00ce */ |
| 171 | "EM_SETREADONLY32", /* 0x00cf */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 172 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 173 | "EM_SETWORDBREAKPROC32", /* 0x00d0 */ |
| 174 | "EM_GETWORDBREAKPROC32", /* 0x00d1 */ |
| 175 | "EM_GETPASSWORDCHAR32", /* 0x00d2 */ |
| 176 | "EM_SETMARGINS32", /* 0x00d3 */ |
| 177 | "EM_GETMARGINS32", /* 0x00d4 */ |
| 178 | "EM_GETLIMITTEXT32", /* 0x00d5 */ |
| 179 | "EM_POSFROMCHAR32", /* 0x00d6 */ |
| 180 | "EM_CHARFROMPOS32", /* 0x00d7 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 181 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 182 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 183 | /* 0x00E0 - Win32 Scrollbars */ |
Alexandre Julliard | 2c69f6d | 1996-09-28 18:11:01 +0000 | [diff] [blame] | 184 | "SBM_SETPOS32", /* 0x00e0 */ |
| 185 | "SBM_GETPOS32", /* 0x00e1 */ |
| 186 | "SBM_SETRANGE32", /* 0x00e2 */ |
| 187 | "SBM_GETRANGE32", /* 0x00e3 */ |
| 188 | "SBM_ENABLE_ARROWS32", /* 0x00e4 */ |
| 189 | NULL, |
| 190 | "SBM_SETRANGEREDRAW32", /* 0x00e6 */ |
| 191 | NULL, NULL, |
| 192 | "SBM_SETSCROLLINFO32", /* 0x00e9 */ |
| 193 | "SBM_GETSCROLLINFO32", /* 0x00ea */ |
| 194 | NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 195 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 196 | /* 0x00F0 - Win32 Buttons */ |
Alexandre Julliard | e2bfa4c | 1996-05-16 18:21:06 +0000 | [diff] [blame] | 197 | "BM_GETCHECK32", /* 0x00f0 */ |
| 198 | "BM_SETCHECK32", /* 0x00f1 */ |
| 199 | "BM_GETSTATE32", /* 0x00f2 */ |
| 200 | "BM_SETSTATE32", /* 0x00f3 */ |
| 201 | "BM_SETSTYLE32", /* 0x00f4 */ |
| 202 | "BM_CLICK32", /* 0x00f5 */ |
| 203 | "BM_GETIMAGE32", /* 0x00f6 */ |
| 204 | "BM_SETIMAGE32", /* 0x00f7 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 205 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 206 | |
| 207 | "WM_KEYDOWN", /* 0x0100 */ |
| 208 | "WM_KEYUP", /* 0x0101 */ |
| 209 | "WM_CHAR", /* 0x0102 */ |
| 210 | "WM_DEADCHAR", /* 0x0103 */ |
| 211 | "WM_SYSKEYDOWN", /* 0x0104 */ |
| 212 | "WM_SYSKEYUP", /* 0x0105 */ |
| 213 | "WM_SYSCHAR", /* 0x0106 */ |
| 214 | "WM_SYSDEADCHAR", /* 0x0107 */ |
| 215 | "WM_KEYLAST", /* 0x0108 */ |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 216 | NULL, |
| 217 | "WM_CONVERTREQUEST", |
| 218 | "WM_CONVERTRESULT", |
| 219 | "WM_INTERIM", NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 220 | |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 221 | "WM_INITDIALOG", /* 0x0110 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 222 | "WM_COMMAND", /* 0x0111 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 223 | "WM_SYSCOMMAND", /* 0x0112 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 224 | "WM_TIMER", /* 0x0113 */ |
| 225 | "WM_HSCROLL", /* 0x0114 */ |
| 226 | "WM_VSCROLL", /* 0x0115 */ |
Alexandre Julliard | 3f2abfa | 1994-08-16 15:43:11 +0000 | [diff] [blame] | 227 | "WM_INITMENU", /* 0x0116 */ |
| 228 | "WM_INITMENUPOPUP", /* 0x0117 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 229 | "WM_SYSTIMER", /* 0x0118 */ |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 230 | NULL, NULL, NULL, NULL, NULL, NULL, |
| 231 | "WM_MENUSELECT", /* 0x011f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 232 | |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 233 | "WM_MENUCHAR", /* 0x0120 */ |
| 234 | "WM_ENTERIDLE", /* 0x0121 */ |
| 235 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 236 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 237 | |
| 238 | /* 0x0130 */ |
Alexandre Julliard | 1e9ac79 | 1996-06-06 18:38:27 +0000 | [diff] [blame] | 239 | NULL, |
| 240 | "wm_lbtrackpoint", /* 0x0131 */ |
| 241 | "WM_CTLCOLORMSGBOX", /* 0x0132 */ |
| 242 | "WM_CTLCOLOREDIT", /* 0x0133 */ |
| 243 | "WM_CTLCOLORLISTBOX", /* 0x0134 */ |
| 244 | "WM_CTLCOLORBTN", /* 0x0135 */ |
| 245 | "WM_CTLCOLORDLG", /* 0x0136 */ |
| 246 | "WM_CTLCOLORSCROLLBAR", /* 0x0137 */ |
| 247 | "WM_CTLCOLORSTATIC", /* 0x0138 */ |
| 248 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 249 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 250 | /* 0x0140 - Win32 Comboboxes */ |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 251 | "CB_GETEDITSEL32", /* 0x0140 */ |
| 252 | "CB_LIMITTEXT32", /* 0x0141 */ |
| 253 | "CB_SETEDITSEL32", /* 0x0142 */ |
| 254 | "CB_ADDSTRING32", /* 0x0143 */ |
| 255 | "CB_DELETESTRING32", /* 0x0144 */ |
| 256 | "CB_DIR32", /* 0x0145 */ |
| 257 | "CB_GETCOUNT32", /* 0x0146 */ |
| 258 | "CB_GETCURSEL32", /* 0x0147 */ |
| 259 | "CB_GETLBTEXT32", /* 0x0148 */ |
| 260 | "CB_GETLBTEXTLEN32", /* 0x0149 */ |
| 261 | "CB_INSERTSTRING32", /* 0x014a */ |
| 262 | "CB_RESETCONTENT32", /* 0x014b */ |
| 263 | "CB_FINDSTRING32", /* 0x014c */ |
| 264 | "CB_SELECTSTRING32", /* 0x014d */ |
| 265 | "CB_SETCURSEL32", /* 0x014e */ |
| 266 | "CB_SHOWDROPDOWN32", /* 0x014f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 267 | |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 268 | "CB_GETITEMDATA32", /* 0x0150 */ |
| 269 | "CB_SETITEMDATA32", /* 0x0151 */ |
| 270 | "CB_GETDROPPEDCONTROLRECT32",/* 0x0152 */ |
| 271 | "CB_SETITEMHEIGHT32", /* 0x0153 */ |
| 272 | "CB_GETITEMHEIGHT32", /* 0x0154 */ |
| 273 | "CB_SETEXTENDEDUI32", /* 0x0155 */ |
| 274 | "CB_GETEXTENDEDUI32", /* 0x0156 */ |
| 275 | "CB_GETDROPPEDSTATE32", /* 0x0157 */ |
| 276 | "CB_FINDSTRINGEXACT32", /* 0x0158 */ |
| 277 | "CB_SETLOCALE32", /* 0x0159 */ |
| 278 | "CB_GETLOCALE32", /* 0x015a */ |
| 279 | "CB_GETTOPINDEX32", /* 0x015b */ |
| 280 | "CB_SETTOPINDEX32", /* 0x015c */ |
| 281 | "CB_GETHORIZONTALEXTENT32", /* 0x015d */ |
| 282 | "CB_SETHORIZONTALEXTENT32", /* 0x015e */ |
| 283 | "CB_GETDROPPEDWIDTH32", /* 0x015f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 284 | |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 285 | "CB_SETDROPPEDWIDTH32", /* 0x0160 */ |
| 286 | "CB_INITSTORAGE32", /* 0x0161 */ |
| 287 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 288 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 289 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 290 | /* 0x0170 - Win32 Static controls */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 291 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 292 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 293 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 294 | /* 0x0180 - Win32 Listboxes */ |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 295 | "LB_ADDSTRING32", /* 0x0180 */ |
| 296 | "LB_INSERTSTRING32", /* 0x0181 */ |
| 297 | "LB_DELETESTRING32", /* 0x0182 */ |
| 298 | "LB_SELITEMRANGEEX32", /* 0x0183 */ |
| 299 | "LB_RESETCONTENT32", /* 0x0184 */ |
| 300 | "LB_SETSEL32", /* 0x0185 */ |
| 301 | "LB_SETCURSEL32", /* 0x0186 */ |
| 302 | "LB_GETSEL32", /* 0x0187 */ |
| 303 | "LB_GETCURSEL32", /* 0x0188 */ |
| 304 | "LB_GETTEXT32", /* 0x0189 */ |
| 305 | "LB_GETTEXTLEN32", /* 0x018a */ |
| 306 | "LB_GETCOUNT32", /* 0x018b */ |
| 307 | "LB_SELECTSTRING32", /* 0x018c */ |
| 308 | "LB_DIR32", /* 0x018d */ |
| 309 | "LB_GETTOPINDEX32", /* 0x018e */ |
| 310 | "LB_FINDSTRING32", /* 0x018f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 311 | |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 312 | "LB_GETSELCOUNT32", /* 0x0190 */ |
| 313 | "LB_GETSELITEMS32", /* 0x0191 */ |
| 314 | "LB_SETTABSTOPS32", /* 0x0192 */ |
| 315 | "LB_GETHORIZONTALEXTENT32", /* 0x0193 */ |
| 316 | "LB_SETHORIZONTALEXTENT32", /* 0x0194 */ |
| 317 | "LB_SETCOLUMNWIDTH32", /* 0x0195 */ |
| 318 | "LB_ADDFILE32", /* 0x0196 */ |
| 319 | "LB_SETTOPINDEX32", /* 0x0197 */ |
| 320 | "LB_GETITEMRECT32", /* 0x0198 */ |
| 321 | "LB_GETITEMDATA32", /* 0x0199 */ |
| 322 | "LB_SETITEMDATA32", /* 0x019a */ |
| 323 | "LB_SELITEMRANGE32", /* 0x019b */ |
| 324 | "LB_SETANCHORINDEX32", /* 0x019c */ |
| 325 | "LB_GETANCHORINDEX32", /* 0x019d */ |
| 326 | "LB_SETCARETINDEX32", /* 0x019e */ |
| 327 | "LB_GETCARETINDEX32", /* 0x019f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 328 | |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 329 | "LB_SETITEMHEIGHT32", /* 0x01a0 */ |
| 330 | "LB_GETITEMHEIGHT32", /* 0x01a1 */ |
| 331 | "LB_FINDSTRINGEXACT32", /* 0x01a2 */ |
Alexandre Julliard | da0cfb3 | 1996-12-01 17:17:47 +0000 | [diff] [blame] | 332 | "LB_CARETON32", /* 0x01a3 */ |
| 333 | "LB_CARETOFF32", /* 0x01a4 */ |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 334 | "LB_SETLOCALE32", /* 0x01a5 */ |
| 335 | "LB_GETLOCALE32", /* 0x01a6 */ |
| 336 | "LB_SETCOUNT32", /* 0x01a7 */ |
| 337 | "LB_INITSTORAGE32", /* 0x01a8 */ |
| 338 | "LB_ITEMFROMPOINT32", /* 0x01a9 */ |
| 339 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 340 | |
| 341 | /* 0x01B0 */ |
| 342 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 343 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 344 | |
| 345 | /* 0x01C0 */ |
| 346 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 347 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 348 | |
| 349 | /* 0x01D0 */ |
| 350 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 351 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 352 | |
| 353 | /* 0x01E0 */ |
| 354 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 355 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 356 | |
| 357 | /* 0x01F0 */ |
| 358 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 359 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 360 | |
| 361 | "WM_MOUSEMOVE", /* 0x0200 */ |
| 362 | "WM_LBUTTONDOWN", /* 0x0201 */ |
| 363 | "WM_LBUTTONUP", /* 0x0202 */ |
| 364 | "WM_LBUTTONDBLCLK", /* 0x0203 */ |
| 365 | "WM_RBUTTONDOWN", /* 0x0204 */ |
| 366 | "WM_RBUTTONUP", /* 0x0205 */ |
| 367 | "WM_RBUTTONDBLCLK", /* 0x0206 */ |
| 368 | "WM_MBUTTONDOWN", /* 0x0207 */ |
| 369 | "WM_MBUTTONUP", /* 0x0208 */ |
| 370 | "WM_MBUTTONDBLCLK", /* 0x0209 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 371 | NULL, NULL, NULL, NULL, NULL, NULL, |
| 372 | |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 373 | "WM_PARENTNOTIFY", /* 0x0210 */ |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 374 | "WM_ENTERMENULOOP", /* 0x0211 */ |
| 375 | "WM_EXITMENULOOP", /* 0x0212 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 376 | "wm_nextmenu", /* 0x0213 */ |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 377 | NULL, NULL, NULL, NULL, |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 378 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 379 | |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 380 | "WM_MDICREATE", /* 0x0220 */ |
| 381 | "WM_MDIDESTROY", /* 0x0221 */ |
| 382 | "WM_MDIACTIVATE", /* 0x0222 */ |
| 383 | "WM_MDIRESTORE", /* 0x0223 */ |
| 384 | "WM_MDINEXT", /* 0x0224 */ |
| 385 | "WM_MDIMAXIMIZE", /* 0x0225 */ |
| 386 | "WM_MDITILE", /* 0x0226 */ |
| 387 | "WM_MDICASCADE", /* 0x0227 */ |
| 388 | "WM_MDIICONARRANGE", /* 0x0228 */ |
| 389 | "WM_MDIGETACTIVE", /* 0x0229 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 390 | |
Alexandre Julliard | ade697e | 1995-11-26 13:59:11 +0000 | [diff] [blame] | 391 | "wm_dropobject", |
| 392 | "wm_querydropobject", |
| 393 | "wm_begindrag", |
| 394 | "wm_dragloop", |
| 395 | "wn_dragselect", |
| 396 | "wm_dragmove", |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 397 | |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 398 | /* 0x0230*/ |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 399 | "WM_MDISETMENU", /* 0x0230 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 400 | "WM_ENTERSIZEMOVE", /* 0x0231 */ |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 401 | "WM_EXITSIZEMOVE", /* 0x0232 */ |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 402 | "WM_DROPFILES", /* 0x0233 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 403 | "WM_MDIREFRESHMENU", NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 404 | /* 0x0238*/ |
| 405 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 406 | |
| 407 | /* 0x0240 */ |
| 408 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 409 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 410 | |
| 411 | /* 0x0250 */ |
| 412 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 413 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 414 | |
| 415 | /* 0x0260 */ |
| 416 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 417 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 418 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 419 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 420 | |
| 421 | /* 0x0280 */ |
| 422 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 423 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 424 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 425 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 426 | |
| 427 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 428 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 429 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 430 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 431 | |
| 432 | /* 0x02c0 */ |
| 433 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 434 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 435 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 436 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 437 | |
| 438 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 439 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 440 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 441 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 442 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 443 | "WM_CUT", /* 0x0300 */ |
| 444 | "WM_COPY", |
| 445 | "WM_PASTE", |
| 446 | "WM_CLEAR", |
| 447 | "WM_UNDO", |
| 448 | "WM_RENDERFORMAT", |
| 449 | "WM_RENDERALLFORMATS", |
| 450 | "WM_DESTROYCLIPBOARD", |
| 451 | "WM_DRAWCLIPBOARD", |
| 452 | "WM_PAINTCLIPBOARD", |
| 453 | "WM_VSCROLLCLIPBOARD", |
| 454 | "WM_SIZECLIPBOARD", |
| 455 | "WM_ASKCBFORMATNAME", |
| 456 | "WM_CHANGECBCHAIN", |
| 457 | "WM_HSCROLLCLIPBOARD", |
| 458 | "WM_QUERYNEWPALETTE", /* 0x030f*/ |
| 459 | |
| 460 | "WM_PALETTEISCHANGING", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 461 | "WM_PALETTECHANGED", |
| 462 | "WM_HOTKEY", /* 0x0312 */ |
| 463 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 464 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 465 | |
| 466 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 467 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 468 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 469 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 470 | |
| 471 | /* 0x0340 */ |
| 472 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 473 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 474 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 475 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 476 | |
| 477 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 478 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 479 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 480 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 481 | |
| 482 | /* 0x0380 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 483 | "WM_PENWINFIRST", |
| 484 | "WM_RCRESULT", |
| 485 | "WM_HOOKRCRESULT", |
| 486 | "WM_GLOBALRCCHANGE", |
| 487 | "WM_SKB", |
| 488 | "WM_HEDITCTL", |
| 489 | NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 490 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 491 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 492 | "WM_COALESCE_FIRST", |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 493 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 494 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 495 | "WM_COALESCE_LAST", |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 496 | |
| 497 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 498 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 499 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 500 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 501 | |
| 502 | /* 0x03c0 */ |
| 503 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 504 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 505 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 506 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 507 | |
| 508 | /* 0x03e0 */ |
| 509 | "WM_DDE_INITIATE", /* 0x3E0 */ |
| 510 | "WM_DDE_TERMINATE", /* 0x3E1 */ |
| 511 | "WM_DDE_ADVISE", /* 0x3E2 */ |
| 512 | "WM_DDE_UNADVISE", /* 0x3E3 */ |
| 513 | "WM_DDE_ACK", /* 0x3E4 */ |
| 514 | "WM_DDE_DATA", /* 0x3E5 */ |
| 515 | "WM_DDE_REQUEST", /* 0x3E6 */ |
| 516 | "WM_DDE_POKE", /* 0x3E7 */ |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 517 | "WM_DDE_EXECUTE", /* 0x3E8 */ |
| 518 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 519 | |
| 520 | |
| 521 | /* 0x03f0 */ |
| 522 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 523 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 524 | |
| 525 | "WM_USER" |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 526 | }; |
| 527 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 528 | |
Alexandre Julliard | 8bbf818 | 1996-09-13 16:50:47 +0000 | [diff] [blame] | 529 | static BOOL16 SPY_Exclude[SPY_MAX_MSGNUM+1]; |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 530 | static int SPY_IndentLevel = 0; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 531 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 532 | #define SPY_EXCLUDE(msg) \ |
| 533 | (SPY_Exclude[(msg) > SPY_MAX_MSGNUM ? SPY_MAX_MSGNUM : (msg)]) |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 534 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 535 | /*********************************************************************** |
| 536 | * SPY_GetMsgName |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 537 | */ |
Alexandre Julliard | 8bbf818 | 1996-09-13 16:50:47 +0000 | [diff] [blame] | 538 | const char *SPY_GetMsgName( UINT32 msg ) |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 539 | { |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 540 | static char buffer[20]; |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 541 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 542 | if (msg <= SPY_MAX_MSGNUM) |
| 543 | { |
| 544 | if (!MessageTypeNames[msg]) return "???"; |
| 545 | return MessageTypeNames[msg]; |
| 546 | } |
Alexandre Julliard | 3051b64 | 1996-07-05 17:14:13 +0000 | [diff] [blame] | 547 | sprintf( buffer, "WM_USER+%04x", msg - WM_USER ); |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 548 | return buffer; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 549 | } |
| 550 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 551 | |
| 552 | /*********************************************************************** |
| 553 | * SPY_EnterMessage |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 554 | */ |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 555 | void SPY_EnterMessage( INT32 iFlag, HWND32 hWnd, UINT32 msg, |
| 556 | WPARAM32 wParam, LPARAM lParam ) |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 557 | { |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 558 | if (!debugging_message || SPY_EXCLUDE(msg)) return; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 559 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 560 | /* each SPY_SENDMESSAGE must be complemented by call to SPY_ExitMessage */ |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 561 | switch(iFlag) |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 562 | { |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 563 | case SPY_DISPATCHMESSAGE16: |
| 564 | dprintf_message(stddeb,"%*s(%04x) message [%04x] %s dispatched wp=%04x lp=%08lx\n", |
| 565 | SPY_IndentLevel, "", hWnd, msg, SPY_GetMsgName( msg ), |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 566 | wParam, lParam); |
| 567 | break; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 568 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 569 | case SPY_DISPATCHMESSAGE32: |
| 570 | dprintf_message(stddeb,"%*s(%08x) message [%04x] %s dispatched wp=%08x lp=%08lx\n", |
| 571 | SPY_IndentLevel, "", hWnd, msg, SPY_GetMsgName( msg ), |
| 572 | wParam, lParam); |
| 573 | break; |
| 574 | |
| 575 | case SPY_SENDMESSAGE16: |
| 576 | case SPY_SENDMESSAGE32: |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 577 | { |
| 578 | char taskName[30]; |
Alexandre Julliard | 8bbf818 | 1996-09-13 16:50:47 +0000 | [diff] [blame] | 579 | HTASK16 hTask = GetWindowTask16(hWnd); |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 580 | if (hTask == GetCurrentTask()) strcpy( taskName, "self" ); |
| 581 | else if (!hTask) strcpy( taskName, "Wine" ); |
Alexandre Julliard | 59730ae | 1996-03-24 16:20:51 +0000 | [diff] [blame] | 582 | else sprintf( taskName, "task %04x %s", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 583 | hTask, MODULE_GetModuleName( GetExePtr(hTask) ) ); |
| 584 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 585 | if (iFlag == SPY_SENDMESSAGE16) |
| 586 | dprintf_message(stddeb,"%*s(%04x) message [%04x] %s sent from %s wp=%04x lp=%08lx\n", |
| 587 | SPY_IndentLevel, "", hWnd, msg, |
| 588 | SPY_GetMsgName( msg ), taskName, wParam, |
| 589 | lParam ); |
| 590 | else |
| 591 | dprintf_message(stddeb,"%*s(%08x) message [%04x] %s sent from %s wp=%08x lp=%08lx\n", |
| 592 | SPY_IndentLevel, "", hWnd, msg, |
| 593 | SPY_GetMsgName( msg ), taskName, wParam, |
| 594 | lParam ); |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 595 | } |
| 596 | break; |
| 597 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 598 | case SPY_DEFWNDPROC16: |
Alexandre Julliard | 59730ae | 1996-03-24 16:20:51 +0000 | [diff] [blame] | 599 | dprintf_message(stddeb, "%*s(%04x) DefWindowProc: %s [%04x] wp=%04x lp=%08lx\n", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 600 | SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ), |
| 601 | msg, wParam, lParam ); |
| 602 | break; |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 603 | |
| 604 | case SPY_DEFWNDPROC32: |
| 605 | dprintf_message(stddeb, "%*s(%08x) DefWindowProc: %s [%04x] wp=%08x lp=%08lx\n", |
| 606 | SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ), |
| 607 | msg, wParam, lParam ); |
| 608 | break; |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 609 | } |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 610 | SPY_IndentLevel += SPY_INDENT_UNIT; |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 611 | } |
| 612 | |
| 613 | |
| 614 | /*********************************************************************** |
| 615 | * SPY_ExitMessage |
| 616 | */ |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 617 | void SPY_ExitMessage( INT32 iFlag, HWND32 hWnd, UINT32 msg, LRESULT lReturn ) |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 618 | { |
| 619 | if (!debugging_message || SPY_EXCLUDE(msg)) return; |
| 620 | if (SPY_IndentLevel) SPY_IndentLevel -= SPY_INDENT_UNIT; |
| 621 | |
| 622 | switch(iFlag) |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 623 | { |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 624 | case SPY_RESULT_OK16: |
Alexandre Julliard | 59730ae | 1996-03-24 16:20:51 +0000 | [diff] [blame] | 625 | dprintf_message(stddeb,"%*s(%04x) message [%04x] %s returned %08lx\n", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 626 | SPY_IndentLevel, "", hWnd, msg, |
| 627 | SPY_GetMsgName( msg ), lReturn ); |
| 628 | break; |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 629 | case SPY_RESULT_OK32: |
| 630 | dprintf_message(stddeb,"%*s(%08x) message [%04x] %s returned %08lx\n", |
| 631 | SPY_IndentLevel, "", hWnd, msg, |
| 632 | SPY_GetMsgName( msg ), lReturn ); |
| 633 | break; |
| 634 | case SPY_RESULT_INVALIDHWND16: |
| 635 | dprintf_message(stddeb,"%*s(%04x) message [%04x] %s HAS INVALID HWND\n", |
| 636 | SPY_IndentLevel, "", hWnd, msg, |
| 637 | SPY_GetMsgName( msg ) ); |
| 638 | break; |
| 639 | case SPY_RESULT_INVALIDHWND32: |
| 640 | dprintf_message(stddeb,"%*s(%08x) message [%04x] %s HAS INVALID HWND\n", |
| 641 | SPY_IndentLevel, "", hWnd, msg, |
| 642 | SPY_GetMsgName( msg ) ); |
| 643 | break; |
| 644 | } |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 645 | } |
| 646 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 647 | |
| 648 | /*********************************************************************** |
| 649 | * SPY_Init |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 650 | */ |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 651 | int SPY_Init(void) |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 652 | { |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 653 | int i; |
| 654 | char buffer[512]; |
Alexandre Julliard | aca0578 | 1994-10-17 18:12:41 +0000 | [diff] [blame] | 655 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 656 | PROFILE_GetWineIniString( "Spy", "Include", "", buffer, sizeof(buffer) ); |
| 657 | if (buffer[0] && strcmp( buffer, "INCLUDEALL" )) |
| 658 | { |
| 659 | dprintf_message( stddeb, "SpyInit: Include=%s\n", buffer ); |
| 660 | for (i = 0; i <= SPY_MAX_MSGNUM; i++) |
| 661 | SPY_Exclude[i] = (MessageTypeNames[i] && !strstr(buffer,MessageTypeNames[i])); |
| 662 | } |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 663 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 664 | PROFILE_GetWineIniString( "Spy", "Exclude", "", buffer, sizeof(buffer) ); |
| 665 | if (buffer[0]) |
| 666 | { |
| 667 | dprintf_message( stddeb, "SpyInit: Exclude=%s\n", buffer ); |
| 668 | if (!strcmp( buffer, "EXCLUDEALL" )) |
| 669 | for (i = 0; i <= SPY_MAX_MSGNUM; i++) SPY_Exclude[i] = TRUE; |
| 670 | else |
| 671 | for (i = 0; i <= SPY_MAX_MSGNUM; i++) |
| 672 | SPY_Exclude[i] = (MessageTypeNames[i] && strstr(buffer,MessageTypeNames[i])); |
| 673 | } |
| 674 | return 1; |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 675 | } |