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 | |
| 8 | #include <stdlib.h> |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 9 | #include <string.h> |
Jeremy White | d3e22d9 | 2000-02-10 19:03:02 +0000 | [diff] [blame] | 10 | #include <stdio.h> |
| 11 | #include "windef.h" |
| 12 | #include "wingdi.h" |
Michael Veksler | ca1bc86 | 1999-01-01 18:57:33 +0000 | [diff] [blame] | 13 | #include "wine/winuser16.h" |
Marcus Meissner | 317af32 | 1999-02-17 13:51:06 +0000 | [diff] [blame] | 14 | #include "wine/winbase16.h" |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 15 | #include "win.h" |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 16 | #include "module.h" |
Alexandre Julliard | 86a8d0f | 1994-01-18 23:04:40 +0000 | [diff] [blame] | 17 | #include "options.h" |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 18 | #include "debugtools.h" |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 19 | #include "spy.h" |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 20 | #include "commctrl.h" |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 21 | |
Patrik Stridvall | b4b9fae | 1999-04-19 14:56:29 +0000 | [diff] [blame] | 22 | DEFAULT_DEBUG_CHANNEL(message) |
| 23 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 24 | #define SPY_MAX_MSGNUM WM_USER |
| 25 | #define SPY_INDENT_UNIT 4 /* 4 spaces */ |
| 26 | |
Alexandre Julliard | d90840e | 1996-06-11 16:02:08 +0000 | [diff] [blame] | 27 | static const char * const MessageTypeNames[SPY_MAX_MSGNUM + 1] = |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 28 | { |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 29 | "wm_null", /* 0x00 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 30 | "WM_CREATE", |
| 31 | "WM_DESTROY", |
| 32 | "WM_MOVE", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 33 | "wm_sizewait", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 34 | "WM_SIZE", |
| 35 | "WM_ACTIVATE", |
| 36 | "WM_SETFOCUS", |
| 37 | "WM_KILLFOCUS", |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 38 | "WM_SETVISIBLE", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 39 | "WM_ENABLE", |
| 40 | "WM_SETREDRAW", |
| 41 | "WM_SETTEXT", |
| 42 | "WM_GETTEXT", |
| 43 | "WM_GETTEXTLENGTH", |
| 44 | "WM_PAINT", |
| 45 | "WM_CLOSE", /* 0x10 */ |
| 46 | "WM_QUERYENDSESSION", |
| 47 | "WM_QUIT", |
| 48 | "WM_QUERYOPEN", |
| 49 | "WM_ERASEBKGND", |
| 50 | "WM_SYSCOLORCHANGE", |
| 51 | "WM_ENDSESSION", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 52 | "wm_systemerror", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 53 | "WM_SHOWWINDOW", |
| 54 | "WM_CTLCOLOR", |
| 55 | "WM_WININICHANGE", |
| 56 | "WM_DEVMODECHANGE", |
| 57 | "WM_ACTIVATEAPP", |
| 58 | "WM_FONTCHANGE", |
| 59 | "WM_TIMECHANGE", |
| 60 | "WM_CANCELMODE", |
| 61 | "WM_SETCURSOR", /* 0x20 */ |
| 62 | "WM_MOUSEACTIVATE", |
| 63 | "WM_CHILDACTIVATE", |
| 64 | "WM_QUEUESYNC", |
| 65 | "WM_GETMINMAXINFO", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 66 | "wm_unused3", |
| 67 | "wm_painticon", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 68 | "WM_ICONERASEBKGND", |
| 69 | "WM_NEXTDLGCTL", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 70 | "wm_alttabactive", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 71 | "WM_SPOOLERSTATUS", |
| 72 | "WM_DRAWITEM", |
| 73 | "WM_MEASUREITEM", |
| 74 | "WM_DELETEITEM", |
| 75 | "WM_VKEYTOITEM", |
| 76 | "WM_CHARTOITEM", |
| 77 | "WM_SETFONT", /* 0x30 */ |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 78 | "WM_GETFONT", |
| 79 | "WM_SETHOTKEY", |
| 80 | "WM_GETHOTKEY", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 81 | "wm_filesyschange", |
| 82 | "wm_isactiveicon", |
| 83 | "wm_queryparkicon", |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 84 | "WM_QUERYDRAGICON", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 85 | "wm_querysavestate", |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 86 | "WM_COMPAREITEM", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 87 | "wm_testing", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 88 | NULL, |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 89 | "wm_otherwindowcreated", |
| 90 | "wm_otherwindowdestroyed", |
| 91 | "wm_activateshellwindow", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 92 | NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 93 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 94 | NULL, /* 0x40 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 95 | "wm_compacting", NULL, NULL, |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 96 | "WM_COMMNOTIFY", NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 97 | "WM_WINDOWPOSCHANGING", /* 0x0046 */ |
| 98 | "WM_WINDOWPOSCHANGED", /* 0x0047 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 99 | "WM_POWER", NULL, |
| 100 | "WM_COPYDATA", |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 101 | "WM_CANCELJOURNAL", NULL, NULL, |
| 102 | "WM_NOTIFY", NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 103 | |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 104 | /* 0x0050 */ |
| 105 | "WM_INPUTLANGCHANGEREQUEST", |
| 106 | "WM_INPUTLANGCHANGE", |
| 107 | "WM_TCARD", |
| 108 | "WM_HELP", |
| 109 | "WM_USERCHANGED", |
| 110 | "WM_NOTIFYFORMAT", NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 111 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 112 | |
| 113 | /* 0x0060 */ |
| 114 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 115 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 116 | |
| 117 | /* 0x0070 */ |
| 118 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 119 | NULL, NULL, NULL, |
| 120 | "WM_CONTEXTMENU", |
| 121 | "WM_STYLECHANGING", |
| 122 | "WM_STYLECHANGED", |
| 123 | "WM_DISPLAYCHANGE", |
| 124 | "WM_GETICON", |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 125 | |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 126 | "WM_SETICON", /* 0x0080 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 127 | "WM_NCCREATE", /* 0x0081 */ |
| 128 | "WM_NCDESTROY", /* 0x0082 */ |
| 129 | "WM_NCCALCSIZE", /* 0x0083 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 130 | "WM_NCHITTEST", /* 0x0084 */ |
| 131 | "WM_NCPAINT", /* 0x0085 */ |
| 132 | "WM_NCACTIVATE", /* 0x0086 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 133 | "WM_GETDLGCODE", /* 0x0087 */ |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 134 | "WM_SYNCPAINT", |
| 135 | "WM_SYNCTASK", NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 136 | |
| 137 | /* 0x0090 */ |
| 138 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 139 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 140 | |
| 141 | /* 0x00A0 */ |
Alexandre Julliard | 5819953 | 1994-04-21 01:20:00 +0000 | [diff] [blame] | 142 | "WM_NCMOUSEMOVE", /* 0x00A0 */ |
| 143 | "WM_NCLBUTTONDOWN", /* 0x00A1 */ |
| 144 | "WM_NCLBUTTONUP", /* 0x00A2 */ |
| 145 | "WM_NCLBUTTONDBLCLK", /* 0x00A3 */ |
| 146 | "WM_NCRBUTTONDOWN", /* 0x00A4 */ |
| 147 | "WM_NCRBUTTONUP", /* 0x00A5 */ |
| 148 | "WM_NCRBUTTONDBLCLK", /* 0x00A6 */ |
| 149 | "WM_NCMBUTTONDOWN", /* 0x00A7 */ |
| 150 | "WM_NCMBUTTONUP", /* 0x00A8 */ |
| 151 | "WM_NCMBUTTONDBLCLK", /* 0x00A9 */ |
| 152 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 153 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 154 | /* 0x00B0 - Win32 Edit controls */ |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 155 | "EM_GETSEL32", /* 0x00b0 */ |
| 156 | "EM_SETSEL32", /* 0x00b1 */ |
| 157 | "EM_GETRECT32", /* 0x00b2 */ |
| 158 | "EM_SETRECT32", /* 0x00b3 */ |
| 159 | "EM_SETRECTNP32", /* 0x00b4 */ |
| 160 | "EM_SCROLL32", /* 0x00b5 */ |
| 161 | "EM_LINESCROLL32", /* 0x00b6 */ |
| 162 | "EM_SCROLLCARET32", /* 0x00b7 */ |
| 163 | "EM_GETMODIFY32", /* 0x00b8 */ |
| 164 | "EM_SETMODIFY32", /* 0x00b9 */ |
| 165 | "EM_GETLINECOUNT32", /* 0x00ba */ |
| 166 | "EM_LINEINDEX32", /* 0x00bb */ |
| 167 | "EM_SETHANDLE32", /* 0x00bc */ |
| 168 | "EM_GETHANDLE32", /* 0x00bd */ |
| 169 | "EM_GETTHUMB32", /* 0x00be */ |
| 170 | NULL, /* 0x00bf */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 171 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 172 | NULL, /* 0x00c0 */ |
| 173 | "EM_LINELENGTH32", /* 0x00c1 */ |
| 174 | "EM_REPLACESEL32", /* 0x00c2 */ |
| 175 | NULL, /* 0x00c3 */ |
| 176 | "EM_GETLINE32", /* 0x00c4 */ |
| 177 | "EM_LIMITTEXT32", /* 0x00c5 */ |
| 178 | "EM_CANUNDO32", /* 0x00c6 */ |
| 179 | "EM_UNDO32", /* 0x00c7 */ |
| 180 | "EM_FMTLINES32", /* 0x00c8 */ |
| 181 | "EM_LINEFROMCHAR32", /* 0x00c9 */ |
| 182 | NULL, /* 0x00ca */ |
| 183 | "EM_SETTABSTOPS32", /* 0x00cb */ |
| 184 | "EM_SETPASSWORDCHAR32", /* 0x00cc */ |
| 185 | "EM_EMPTYUNDOBUFFER32", /* 0x00cd */ |
| 186 | "EM_GETFIRSTVISIBLELINE32", /* 0x00ce */ |
| 187 | "EM_SETREADONLY32", /* 0x00cf */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 188 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 189 | "EM_SETWORDBREAKPROC32", /* 0x00d0 */ |
| 190 | "EM_GETWORDBREAKPROC32", /* 0x00d1 */ |
| 191 | "EM_GETPASSWORDCHAR32", /* 0x00d2 */ |
| 192 | "EM_SETMARGINS32", /* 0x00d3 */ |
| 193 | "EM_GETMARGINS32", /* 0x00d4 */ |
| 194 | "EM_GETLIMITTEXT32", /* 0x00d5 */ |
| 195 | "EM_POSFROMCHAR32", /* 0x00d6 */ |
| 196 | "EM_CHARFROMPOS32", /* 0x00d7 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 197 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 198 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 199 | /* 0x00E0 - Win32 Scrollbars */ |
Alexandre Julliard | 2c69f6d | 1996-09-28 18:11:01 +0000 | [diff] [blame] | 200 | "SBM_SETPOS32", /* 0x00e0 */ |
| 201 | "SBM_GETPOS32", /* 0x00e1 */ |
| 202 | "SBM_SETRANGE32", /* 0x00e2 */ |
| 203 | "SBM_GETRANGE32", /* 0x00e3 */ |
| 204 | "SBM_ENABLE_ARROWS32", /* 0x00e4 */ |
| 205 | NULL, |
| 206 | "SBM_SETRANGEREDRAW32", /* 0x00e6 */ |
| 207 | NULL, NULL, |
| 208 | "SBM_SETSCROLLINFO32", /* 0x00e9 */ |
| 209 | "SBM_GETSCROLLINFO32", /* 0x00ea */ |
| 210 | NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 211 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 212 | /* 0x00F0 - Win32 Buttons */ |
Alexandre Julliard | e2bfa4c | 1996-05-16 18:21:06 +0000 | [diff] [blame] | 213 | "BM_GETCHECK32", /* 0x00f0 */ |
| 214 | "BM_SETCHECK32", /* 0x00f1 */ |
| 215 | "BM_GETSTATE32", /* 0x00f2 */ |
| 216 | "BM_SETSTATE32", /* 0x00f3 */ |
| 217 | "BM_SETSTYLE32", /* 0x00f4 */ |
| 218 | "BM_CLICK32", /* 0x00f5 */ |
| 219 | "BM_GETIMAGE32", /* 0x00f6 */ |
| 220 | "BM_SETIMAGE32", /* 0x00f7 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 221 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 222 | |
| 223 | "WM_KEYDOWN", /* 0x0100 */ |
| 224 | "WM_KEYUP", /* 0x0101 */ |
| 225 | "WM_CHAR", /* 0x0102 */ |
| 226 | "WM_DEADCHAR", /* 0x0103 */ |
| 227 | "WM_SYSKEYDOWN", /* 0x0104 */ |
| 228 | "WM_SYSKEYUP", /* 0x0105 */ |
| 229 | "WM_SYSCHAR", /* 0x0106 */ |
| 230 | "WM_SYSDEADCHAR", /* 0x0107 */ |
| 231 | "WM_KEYLAST", /* 0x0108 */ |
Hidenori Takeshima | 146b16a | 2000-03-08 18:22:21 +0000 | [diff] [blame] | 232 | NULL, |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 233 | "WM_CONVERTREQUEST", |
Hidenori Takeshima | 146b16a | 2000-03-08 18:22:21 +0000 | [diff] [blame] | 234 | "WM_CONVERTRESULT", |
| 235 | "WM_INTERIM", |
| 236 | "WM_IME_STARTCOMPOSITION", /* 0x010d */ |
| 237 | "WM_IME_ENDCOMPOSITION", /* 0x010e */ |
| 238 | "WM_IME_COMPOSITION", /* 0x010f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 239 | |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 240 | "WM_INITDIALOG", /* 0x0110 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 241 | "WM_COMMAND", /* 0x0111 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 242 | "WM_SYSCOMMAND", /* 0x0112 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 243 | "WM_TIMER", /* 0x0113 */ |
| 244 | "WM_HSCROLL", /* 0x0114 */ |
| 245 | "WM_VSCROLL", /* 0x0115 */ |
Alexandre Julliard | 3f2abfa | 1994-08-16 15:43:11 +0000 | [diff] [blame] | 246 | "WM_INITMENU", /* 0x0116 */ |
| 247 | "WM_INITMENUPOPUP", /* 0x0117 */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 248 | "WM_SYSTIMER", /* 0x0118 */ |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 249 | NULL, NULL, NULL, NULL, NULL, NULL, |
| 250 | "WM_MENUSELECT", /* 0x011f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 251 | |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 252 | "WM_MENUCHAR", /* 0x0120 */ |
| 253 | "WM_ENTERIDLE", /* 0x0121 */ |
| 254 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 255 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 256 | |
| 257 | /* 0x0130 */ |
Alexandre Julliard | 1e9ac79 | 1996-06-06 18:38:27 +0000 | [diff] [blame] | 258 | NULL, |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 259 | "WM_LBTRACKPOINT", /* 0x0131 */ |
Alexandre Julliard | 1e9ac79 | 1996-06-06 18:38:27 +0000 | [diff] [blame] | 260 | "WM_CTLCOLORMSGBOX", /* 0x0132 */ |
| 261 | "WM_CTLCOLOREDIT", /* 0x0133 */ |
| 262 | "WM_CTLCOLORLISTBOX", /* 0x0134 */ |
| 263 | "WM_CTLCOLORBTN", /* 0x0135 */ |
| 264 | "WM_CTLCOLORDLG", /* 0x0136 */ |
| 265 | "WM_CTLCOLORSCROLLBAR", /* 0x0137 */ |
| 266 | "WM_CTLCOLORSTATIC", /* 0x0138 */ |
| 267 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 268 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 269 | /* 0x0140 - Win32 Comboboxes */ |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 270 | "CB_GETEDITSEL32", /* 0x0140 */ |
| 271 | "CB_LIMITTEXT32", /* 0x0141 */ |
| 272 | "CB_SETEDITSEL32", /* 0x0142 */ |
| 273 | "CB_ADDSTRING32", /* 0x0143 */ |
| 274 | "CB_DELETESTRING32", /* 0x0144 */ |
| 275 | "CB_DIR32", /* 0x0145 */ |
| 276 | "CB_GETCOUNT32", /* 0x0146 */ |
| 277 | "CB_GETCURSEL32", /* 0x0147 */ |
| 278 | "CB_GETLBTEXT32", /* 0x0148 */ |
| 279 | "CB_GETLBTEXTLEN32", /* 0x0149 */ |
| 280 | "CB_INSERTSTRING32", /* 0x014a */ |
| 281 | "CB_RESETCONTENT32", /* 0x014b */ |
| 282 | "CB_FINDSTRING32", /* 0x014c */ |
| 283 | "CB_SELECTSTRING32", /* 0x014d */ |
| 284 | "CB_SETCURSEL32", /* 0x014e */ |
| 285 | "CB_SHOWDROPDOWN32", /* 0x014f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 286 | |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 287 | "CB_GETITEMDATA32", /* 0x0150 */ |
| 288 | "CB_SETITEMDATA32", /* 0x0151 */ |
| 289 | "CB_GETDROPPEDCONTROLRECT32",/* 0x0152 */ |
| 290 | "CB_SETITEMHEIGHT32", /* 0x0153 */ |
| 291 | "CB_GETITEMHEIGHT32", /* 0x0154 */ |
| 292 | "CB_SETEXTENDEDUI32", /* 0x0155 */ |
| 293 | "CB_GETEXTENDEDUI32", /* 0x0156 */ |
| 294 | "CB_GETDROPPEDSTATE32", /* 0x0157 */ |
| 295 | "CB_FINDSTRINGEXACT32", /* 0x0158 */ |
| 296 | "CB_SETLOCALE32", /* 0x0159 */ |
| 297 | "CB_GETLOCALE32", /* 0x015a */ |
| 298 | "CB_GETTOPINDEX32", /* 0x015b */ |
| 299 | "CB_SETTOPINDEX32", /* 0x015c */ |
| 300 | "CB_GETHORIZONTALEXTENT32", /* 0x015d */ |
| 301 | "CB_SETHORIZONTALEXTENT32", /* 0x015e */ |
| 302 | "CB_GETDROPPEDWIDTH32", /* 0x015f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 303 | |
Alexandre Julliard | 75d86e1 | 1996-11-17 18:59:11 +0000 | [diff] [blame] | 304 | "CB_SETDROPPEDWIDTH32", /* 0x0160 */ |
| 305 | "CB_INITSTORAGE32", /* 0x0161 */ |
| 306 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 307 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 308 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 309 | /* 0x0170 - Win32 Static controls */ |
Alexandre Julliard | 491502b | 1997-11-01 19:08:16 +0000 | [diff] [blame] | 310 | "STM_SETICON32", /* 0x0170 */ |
| 311 | "STM_GETICON32", /* 0x0171 */ |
| 312 | "STM_SETIMAGE32", /* 0x0172 */ |
| 313 | "STM_GETIMAGE32", /* 0x0173 */ |
| 314 | NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 315 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 316 | |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 317 | /* 0x0180 - Win32 Listboxes */ |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 318 | "LB_ADDSTRING32", /* 0x0180 */ |
| 319 | "LB_INSERTSTRING32", /* 0x0181 */ |
| 320 | "LB_DELETESTRING32", /* 0x0182 */ |
| 321 | "LB_SELITEMRANGEEX32", /* 0x0183 */ |
| 322 | "LB_RESETCONTENT32", /* 0x0184 */ |
| 323 | "LB_SETSEL32", /* 0x0185 */ |
| 324 | "LB_SETCURSEL32", /* 0x0186 */ |
| 325 | "LB_GETSEL32", /* 0x0187 */ |
| 326 | "LB_GETCURSEL32", /* 0x0188 */ |
| 327 | "LB_GETTEXT32", /* 0x0189 */ |
| 328 | "LB_GETTEXTLEN32", /* 0x018a */ |
| 329 | "LB_GETCOUNT32", /* 0x018b */ |
| 330 | "LB_SELECTSTRING32", /* 0x018c */ |
| 331 | "LB_DIR32", /* 0x018d */ |
| 332 | "LB_GETTOPINDEX32", /* 0x018e */ |
| 333 | "LB_FINDSTRING32", /* 0x018f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 334 | |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 335 | "LB_GETSELCOUNT32", /* 0x0190 */ |
| 336 | "LB_GETSELITEMS32", /* 0x0191 */ |
| 337 | "LB_SETTABSTOPS32", /* 0x0192 */ |
| 338 | "LB_GETHORIZONTALEXTENT32", /* 0x0193 */ |
| 339 | "LB_SETHORIZONTALEXTENT32", /* 0x0194 */ |
| 340 | "LB_SETCOLUMNWIDTH32", /* 0x0195 */ |
| 341 | "LB_ADDFILE32", /* 0x0196 */ |
| 342 | "LB_SETTOPINDEX32", /* 0x0197 */ |
| 343 | "LB_GETITEMRECT32", /* 0x0198 */ |
| 344 | "LB_GETITEMDATA32", /* 0x0199 */ |
| 345 | "LB_SETITEMDATA32", /* 0x019a */ |
| 346 | "LB_SELITEMRANGE32", /* 0x019b */ |
| 347 | "LB_SETANCHORINDEX32", /* 0x019c */ |
| 348 | "LB_GETANCHORINDEX32", /* 0x019d */ |
| 349 | "LB_SETCARETINDEX32", /* 0x019e */ |
| 350 | "LB_GETCARETINDEX32", /* 0x019f */ |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 351 | |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 352 | "LB_SETITEMHEIGHT32", /* 0x01a0 */ |
| 353 | "LB_GETITEMHEIGHT32", /* 0x01a1 */ |
| 354 | "LB_FINDSTRINGEXACT32", /* 0x01a2 */ |
Alexandre Julliard | da0cfb3 | 1996-12-01 17:17:47 +0000 | [diff] [blame] | 355 | "LB_CARETON32", /* 0x01a3 */ |
| 356 | "LB_CARETOFF32", /* 0x01a4 */ |
Alexandre Julliard | d1ce8b2 | 1996-09-02 16:46:30 +0000 | [diff] [blame] | 357 | "LB_SETLOCALE32", /* 0x01a5 */ |
| 358 | "LB_GETLOCALE32", /* 0x01a6 */ |
| 359 | "LB_SETCOUNT32", /* 0x01a7 */ |
| 360 | "LB_INITSTORAGE32", /* 0x01a8 */ |
| 361 | "LB_ITEMFROMPOINT32", /* 0x01a9 */ |
| 362 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 363 | |
| 364 | /* 0x01B0 */ |
| 365 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 366 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 367 | |
| 368 | /* 0x01C0 */ |
| 369 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 370 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 371 | |
| 372 | /* 0x01D0 */ |
| 373 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 374 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 375 | |
| 376 | /* 0x01E0 */ |
| 377 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 378 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 379 | |
| 380 | /* 0x01F0 */ |
| 381 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 382 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 383 | |
| 384 | "WM_MOUSEMOVE", /* 0x0200 */ |
| 385 | "WM_LBUTTONDOWN", /* 0x0201 */ |
| 386 | "WM_LBUTTONUP", /* 0x0202 */ |
| 387 | "WM_LBUTTONDBLCLK", /* 0x0203 */ |
| 388 | "WM_RBUTTONDOWN", /* 0x0204 */ |
| 389 | "WM_RBUTTONUP", /* 0x0205 */ |
| 390 | "WM_RBUTTONDBLCLK", /* 0x0206 */ |
| 391 | "WM_MBUTTONDOWN", /* 0x0207 */ |
| 392 | "WM_MBUTTONUP", /* 0x0208 */ |
| 393 | "WM_MBUTTONDBLCLK", /* 0x0209 */ |
Stephane Lussier | 4bdf4af | 2000-04-18 11:56:33 +0000 | [diff] [blame] | 394 | "WM_MOUSEWHEEL", /* 0x020A */ |
| 395 | NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 396 | |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 397 | "WM_PARENTNOTIFY", /* 0x0210 */ |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 398 | "WM_ENTERMENULOOP", /* 0x0211 */ |
| 399 | "WM_EXITMENULOOP", /* 0x0212 */ |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 400 | "WM_NEXTMENU", /* 0x0213 */ |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 401 | "WM_SIZING", |
| 402 | "WM_CAPTURECHANGED", |
| 403 | "WM_MOVING", NULL, |
| 404 | "WM_POWERBROADCAST", |
| 405 | "WM_DEVICECHANGE", NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 406 | |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 407 | "WM_MDICREATE", /* 0x0220 */ |
| 408 | "WM_MDIDESTROY", /* 0x0221 */ |
| 409 | "WM_MDIACTIVATE", /* 0x0222 */ |
| 410 | "WM_MDIRESTORE", /* 0x0223 */ |
| 411 | "WM_MDINEXT", /* 0x0224 */ |
| 412 | "WM_MDIMAXIMIZE", /* 0x0225 */ |
| 413 | "WM_MDITILE", /* 0x0226 */ |
| 414 | "WM_MDICASCADE", /* 0x0227 */ |
| 415 | "WM_MDIICONARRANGE", /* 0x0228 */ |
| 416 | "WM_MDIGETACTIVE", /* 0x0229 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 417 | |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 418 | "WM_DROPOBJECT", |
| 419 | "WM_QUERYDROPOBJECT", |
| 420 | "WM_BEGINDRAG", |
| 421 | "WM_DRAGLOOP", |
| 422 | "WM_DRAGSELECT", |
| 423 | "WM_DRAGMOVE", |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 424 | |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 425 | /* 0x0230*/ |
Alexandre Julliard | 2787be8 | 1995-05-22 18:23:01 +0000 | [diff] [blame] | 426 | "WM_MDISETMENU", /* 0x0230 */ |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 427 | "WM_ENTERSIZEMOVE", /* 0x0231 */ |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 428 | "WM_EXITSIZEMOVE", /* 0x0232 */ |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 429 | "WM_DROPFILES", /* 0x0233 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 430 | "WM_MDIREFRESHMENU", NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 431 | /* 0x0238*/ |
| 432 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 433 | |
| 434 | /* 0x0240 */ |
| 435 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 436 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 437 | |
| 438 | /* 0x0250 */ |
| 439 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 440 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 441 | |
| 442 | /* 0x0260 */ |
| 443 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 444 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 445 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 446 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 447 | |
| 448 | /* 0x0280 */ |
Hidenori Takeshima | 146b16a | 2000-03-08 18:22:21 +0000 | [diff] [blame] | 449 | NULL, "WM_IME_SETCONTEXT", "WM_IME_NOTIFY", "WM_IME_CONTROL", "WM_IME_COMPOSITIONFULL", "WM_IME_SELECT", "WM_IME_CHAR", NULL, |
| 450 | "WM_IME_REQUEST", NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 451 | "WM_IME_KEYDOWN", "WM_IME_KEYUP", NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 452 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 453 | |
Hidenori Takeshima | 146b16a | 2000-03-08 18:22:21 +0000 | [diff] [blame] | 454 | /* 0x02a0 */ |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 455 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 456 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 457 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 458 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 459 | |
| 460 | /* 0x02c0 */ |
| 461 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 462 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 463 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 464 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 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 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 471 | "WM_CUT", /* 0x0300 */ |
| 472 | "WM_COPY", |
| 473 | "WM_PASTE", |
| 474 | "WM_CLEAR", |
| 475 | "WM_UNDO", |
| 476 | "WM_RENDERFORMAT", |
| 477 | "WM_RENDERALLFORMATS", |
| 478 | "WM_DESTROYCLIPBOARD", |
| 479 | "WM_DRAWCLIPBOARD", |
| 480 | "WM_PAINTCLIPBOARD", |
| 481 | "WM_VSCROLLCLIPBOARD", |
| 482 | "WM_SIZECLIPBOARD", |
| 483 | "WM_ASKCBFORMATNAME", |
| 484 | "WM_CHANGECBCHAIN", |
| 485 | "WM_HSCROLLCLIPBOARD", |
| 486 | "WM_QUERYNEWPALETTE", /* 0x030f*/ |
| 487 | |
| 488 | "WM_PALETTEISCHANGING", |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 489 | "WM_PALETTECHANGED", |
| 490 | "WM_HOTKEY", /* 0x0312 */ |
Alexandre Julliard | f0cbfa0 | 1997-02-15 14:29:56 +0000 | [diff] [blame] | 491 | NULL, NULL, NULL, NULL, |
| 492 | "WM_PRINT", |
| 493 | "WM_PRINTCLIENT", |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 494 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 495 | |
| 496 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 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 | |
| 501 | /* 0x0340 */ |
| 502 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 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 | |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 507 | "WM_QUERYAFXWNDPROC", /* 0x0360 */ |
| 508 | "WM_SIZEPARENT", /* 0x0361 */ |
| 509 | "WM_SETMESSAGESTRING", /* 0x0362 */ |
| 510 | "WM_IDLEUPDATECMDUI", /* 0x0363 */ |
| 511 | "WM_INITIALUPDATE", /* 0x0364 */ |
| 512 | "WM_COMMANDHELP", /* 0x0365 */ |
| 513 | "WM_HELPHITTEST", /* 0x0366 */ |
| 514 | "WM_EXITHELPMODE", /* 0x0367 */ |
| 515 | "WM_RECALCPARENT", /* 0x0368 */ |
| 516 | "WM_SIZECHILD", /* 0x0369 */ |
| 517 | "WM_KICKIDLE", /* 0x036A */ |
| 518 | "WM_QUERYCENTERWND", /* 0x036B */ |
| 519 | "WM_DISABLEMODAL", /* 0x036C */ |
| 520 | "WM_FLOATSTATUS", /* 0x036D */ |
| 521 | "WM_ACTIVATETOPLEVEL", /* 0x036E */ |
| 522 | "WM_QUERY3DCONTROLS", /* 0x036F */ |
| 523 | NULL,NULL,NULL, |
| 524 | "WM_SOCKET_NOTIFY", /* 0x0373 */ |
| 525 | "WM_SOCKET_DEAD", /* 0x0374 */ |
| 526 | "WM_POPMESSAGESTRING", /* 0x0375 */ |
| 527 | "WM_OCC_LOADFROMSTREAM", /* 0x0376 */ |
| 528 | "WM_OCC_LOADFROMSTORAGE", /* 0x0377 */ |
| 529 | "WM_OCC_INITNEW", /* 0x0378 */ |
| 530 | "WM_QUEUE_SENTINEL", /* 0x0379 */ |
| 531 | "WM_OCC_LOADFROMSTREAM_EX", /* 0x037A */ |
| 532 | "WM_OCC_LOADFROMSTORAGE_EX", /* 0x037B */ |
| 533 | |
| 534 | NULL,NULL,NULL,NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 535 | |
| 536 | /* 0x0380 */ |
Alexandre Julliard | 1e37a18 | 1996-08-18 16:21:52 +0000 | [diff] [blame] | 537 | "WM_PENWINFIRST", |
| 538 | "WM_RCRESULT", |
| 539 | "WM_HOOKRCRESULT", |
| 540 | "WM_GLOBALRCCHANGE", |
| 541 | "WM_SKB", |
| 542 | "WM_HEDITCTL", |
| 543 | NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 544 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 545 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 546 | "WM_COALESCE_FIRST", |
Alexandre Julliard | d471965 | 1995-12-12 18:49:11 +0000 | [diff] [blame] | 547 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 548 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 549 | "WM_COALESCE_LAST", |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 550 | |
| 551 | /* 0x03a0 */ |
| 552 | "MM_JOY1MOVE", |
| 553 | "MM_JOY2MOVE", |
| 554 | "MM_JOY1ZMOVE", |
| 555 | "MM_JOY2ZMOVE", |
| 556 | NULL, NULL, NULL, NULL, |
| 557 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 558 | |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 559 | /* 0x03b0 */ |
| 560 | NULL, NULL, NULL, NULL, NULL, |
| 561 | "MM_JOY1BUTTONDOWN", |
| 562 | "MM_JOY2BUTTONDOWN", |
| 563 | "MM_JOY1BUTTONUP", |
| 564 | "MM_JOY2BUTTONUP", |
| 565 | "MM_MCINOTIFY", |
| 566 | NULL, |
| 567 | "MM_WOM_OPEN", |
| 568 | "MM_WOM_CLOSE", |
| 569 | "MM_WOM_DONE", |
| 570 | "MM_WIM_OPEN", |
| 571 | "MM_WIM_CLOSE", |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 572 | |
| 573 | /* 0x03c0 */ |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 574 | "MM_WIM_DATA", |
| 575 | "MM_MIM_OPEN", |
| 576 | "MM_MIM_CLOSE", |
| 577 | "MM_MIM_DATA", |
| 578 | "MM_MIM_LONGDATA", |
| 579 | "MM_MIM_ERROR", |
| 580 | "MM_MIM_LONGERROR", |
| 581 | "MM_MOM_OPEN", |
| 582 | "MM_MOM_CLOSE", |
| 583 | "MM_MOM_DONE", |
| 584 | NULL, NULL, NULL, NULL, NULL, NULL, |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 585 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 586 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 587 | |
| 588 | /* 0x03e0 */ |
| 589 | "WM_DDE_INITIATE", /* 0x3E0 */ |
| 590 | "WM_DDE_TERMINATE", /* 0x3E1 */ |
| 591 | "WM_DDE_ADVISE", /* 0x3E2 */ |
| 592 | "WM_DDE_UNADVISE", /* 0x3E3 */ |
| 593 | "WM_DDE_ACK", /* 0x3E4 */ |
| 594 | "WM_DDE_DATA", /* 0x3E5 */ |
| 595 | "WM_DDE_REQUEST", /* 0x3E6 */ |
| 596 | "WM_DDE_POKE", /* 0x3E7 */ |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 597 | "WM_DDE_EXECUTE", /* 0x3E8 */ |
| 598 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 599 | |
| 600 | |
| 601 | /* 0x03f0 */ |
| 602 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 603 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 604 | |
| 605 | "WM_USER" |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 606 | }; |
| 607 | |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 608 | |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 609 | #define SPY_MAX_LVMMSGNUM 139 |
| 610 | static const char * const LVMMessageTypeNames[SPY_MAX_LVMMSGNUM + 1] = |
| 611 | { |
| 612 | "LVM_GETBKCOLOR", /* 1000 */ |
| 613 | "LVM_SETBKCOLOR", |
| 614 | "LVM_GETIMAGELIST", |
| 615 | "LVM_SETIMAGELIST", |
| 616 | "LVM_GETITEMCOUNT", |
| 617 | "LVM_GETITEMA", |
| 618 | "LVM_SETITEMA", |
| 619 | "LVM_INSERTITEMA", |
| 620 | "LVM_DELETEITEM", |
| 621 | "LVM_DELETEALLITEMS", |
| 622 | "LVM_GETCALLBACKMASK", |
| 623 | "LVM_SETCALLBACKMASK", |
| 624 | "LVM_GETNEXTITEM", |
| 625 | "LVM_FINDITEMA", |
| 626 | "LVM_GETITEMRECT", |
| 627 | "LVM_SETITEMPOSITION", |
| 628 | "LVM_GETITEMPOSITION", |
| 629 | "LVM_GETSTRINGWIDTHA", |
| 630 | "LVM_HITTEST", |
| 631 | "LVM_ENSUREVISIBLE", |
| 632 | "LVM_SCROLL", |
| 633 | "LVM_REDRAWITEMS", |
| 634 | "LVM_ARRANGE", |
| 635 | "LVM_EDITLABELA", |
| 636 | "LVM_GETEDITCONTROL", |
| 637 | "LVM_GETCOLUMNA", |
| 638 | "LVM_SETCOLUMNA", |
| 639 | "LVM_INSERTCOLUMNA", |
| 640 | "LVM_DELETECOLUMN", |
| 641 | "LVM_GETCOLUMNWIDTH", |
| 642 | "LVM_SETCOLUMNWIDTH", |
| 643 | "LVM_GETHEADER", |
| 644 | "LVM_CREATEDRAGIMAGE", |
| 645 | "LVM_GETVIEWRECT", |
| 646 | "LVM_GETTEXTCOLOR", |
| 647 | "LVM_SETTEXTCOLOR", |
| 648 | "LVM_GETTEXTBKCOLOR", |
| 649 | "LVM_SETTEXTBKCOLOR", |
| 650 | "LVM_GETTOPINDEX", |
| 651 | "LVM_GETCOUNTPERPAGE", |
| 652 | "LVM_GETORIGIN", |
| 653 | "LVM_UPDATE", |
| 654 | "LVM_SETITEMSTATE", |
| 655 | "LVM_GETITEMSTATE", |
| 656 | "LVM_GETITEMTEXTA", |
| 657 | "LVM_SETITEMTEXTA", |
| 658 | "LVM_SETITEMCOUNT", |
| 659 | "LVM_SORTITEMS", |
| 660 | "LVM_SETITEMPOSITION32", |
| 661 | "LVM_GETSELECTEDCOUNT", |
| 662 | "LVM_GETITEMSPACING", |
| 663 | "LVM_GETISEARCHSTRINGA", |
| 664 | "LVM_SETICONSPACING", |
| 665 | "LVM_SETEXTENDEDLISTVIEWSTYLE", |
| 666 | "LVM_GETEXTENDEDLISTVIEWSTYLE", |
| 667 | "LVM_GETSUBITEMRECT", |
| 668 | "LVM_SUBITEMHITTEST", |
| 669 | "LVM_SETCOLUMNORDERARRAY", |
| 670 | "LVM_GETCOLUMNORDERARRAY", |
| 671 | "LVM_SETHOTITEM", |
| 672 | "LVM_GETHOTITEM", |
| 673 | "LVM_SETHOTCURSOR", |
| 674 | "LVM_GETHOTCURSOR", |
| 675 | "LVM_APPROXIMATEVIEWRECT", |
| 676 | "LVM_SETWORKAREAS", |
| 677 | "LVM_GETSELECTIONMARK", |
| 678 | "LVM_SETSELECTIONMARK", |
| 679 | "LVM_SETBKIMAGEA", |
| 680 | "LVM_GETBKIMAGEA", |
| 681 | "LVM_GETWORKAREAS", |
| 682 | "LVM_SETHOVERTIME", |
| 683 | "LVM_GETHOVERTIME", |
| 684 | "LVM_GETNUMBEROFWORKAREAS", |
| 685 | "LVM_SETTOOLTIPS", |
| 686 | "LVM_GETITEMW", |
| 687 | "LVM_SETITEMW", |
| 688 | "LVM_INSERTITEMW", |
| 689 | "LVM_GETTOOLTIPS", |
| 690 | NULL, |
| 691 | NULL, |
| 692 | NULL, |
| 693 | NULL, |
| 694 | "LVM_FINDITEMW", |
| 695 | NULL, |
| 696 | NULL, |
| 697 | NULL, |
| 698 | "LVM_GETSTRINGWIDTHW", |
| 699 | NULL, |
| 700 | NULL, |
| 701 | NULL, |
| 702 | NULL, |
| 703 | NULL, |
| 704 | NULL, |
| 705 | NULL, |
| 706 | "LVM_GETCOLUMNW", |
| 707 | "LVM_SETCOLUMNW", |
| 708 | "LVM_INSERTCOLUMNW", |
| 709 | NULL, |
| 710 | NULL, |
| 711 | NULL, |
| 712 | NULL, |
| 713 | NULL, |
| 714 | NULL, |
| 715 | NULL, |
| 716 | NULL, |
| 717 | NULL, |
| 718 | NULL, |
| 719 | NULL, |
| 720 | NULL, |
| 721 | NULL, |
| 722 | NULL, |
| 723 | NULL, |
| 724 | NULL, |
| 725 | NULL, |
| 726 | "LVM_GETITEMTEXTW", |
| 727 | "LVM_SETITEMTEXTW", |
| 728 | "LVM_GETISEARCHSTRINGW", |
| 729 | "LVM_EDITLABELW", |
| 730 | NULL, |
| 731 | NULL, |
| 732 | NULL, |
| 733 | NULL, |
| 734 | NULL, |
| 735 | NULL, |
| 736 | NULL, |
| 737 | NULL, |
| 738 | NULL, |
| 739 | NULL, |
| 740 | NULL, |
| 741 | NULL, |
| 742 | NULL, |
| 743 | NULL, |
| 744 | NULL, |
| 745 | NULL, |
| 746 | NULL, |
| 747 | NULL, |
| 748 | NULL, |
| 749 | NULL, |
| 750 | "LVM_SETBKIMAGEW", |
| 751 | "LVM_GETBKIMAGEW" /* 0x108B */ |
| 752 | }; |
| 753 | |
| 754 | #define SPY_MAX_CCMMSGNUM 6 |
| 755 | static const char * const CCMMessageTypeNames[SPY_MAX_CCMMSGNUM + 1] = |
| 756 | { |
| 757 | NULL, /* 0x2000 */ |
| 758 | "CCM_SETBKCOLOR", |
| 759 | "CCM_SETCOLORSCHEME", |
| 760 | "CCM_GETCOLORSCHEME", |
| 761 | "CCM_GETDROPTARGET", |
| 762 | "CCM_SETUNICODEFORMAT", |
| 763 | "CCM_GETUNICODEFORMAT" |
| 764 | }; |
| 765 | |
Alexandre Julliard | 8bbf818 | 1996-09-13 16:50:47 +0000 | [diff] [blame] | 766 | static BOOL16 SPY_Exclude[SPY_MAX_MSGNUM+1]; |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 767 | static BOOL16 SPY_ExcludeDWP = 0; |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 768 | static int SPY_IndentLevel = 0; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 769 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 770 | #define SPY_EXCLUDE(msg) \ |
| 771 | (SPY_Exclude[(msg) > SPY_MAX_MSGNUM ? SPY_MAX_MSGNUM : (msg)]) |
Alexandre Julliard | 8d24ae6 | 1994-04-05 21:42:43 +0000 | [diff] [blame] | 772 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 773 | /*********************************************************************** |
| 774 | * SPY_GetMsgName |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 775 | */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 776 | const char *SPY_GetMsgName( UINT msg ) |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 777 | { |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 778 | static char msg_buffer[20]; |
Alexandre Julliard | e2991ea | 1995-07-29 13:09:43 +0000 | [diff] [blame] | 779 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 780 | if (msg <= SPY_MAX_MSGNUM) |
| 781 | { |
| 782 | if (!MessageTypeNames[msg]) return "???"; |
| 783 | return MessageTypeNames[msg]; |
| 784 | } |
Juergen Schmied | d50f642 | 1999-08-15 16:54:58 +0000 | [diff] [blame] | 785 | |
| 786 | if (msg >= LVM_FIRST && msg <= LVM_FIRST + SPY_MAX_LVMMSGNUM) |
| 787 | { |
| 788 | if (!LVMMessageTypeNames[msg-LVM_FIRST]) return "LVM_?"; |
| 789 | return LVMMessageTypeNames[msg-LVM_FIRST]; |
| 790 | } |
| 791 | |
| 792 | if (msg >= CCM_FIRST && msg <= CCM_FIRST + SPY_MAX_CCMMSGNUM) |
| 793 | { |
| 794 | if (!CCMMessageTypeNames[msg-CCM_FIRST]) return "???"; |
| 795 | return CCMMessageTypeNames[msg-CCM_FIRST]; |
| 796 | } |
| 797 | |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 798 | sprintf( msg_buffer, "WM_USER+%04x", msg - WM_USER ); |
| 799 | return msg_buffer; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 800 | } |
| 801 | |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 802 | /*********************************************************************** |
| 803 | * SPY_GetWndName |
| 804 | */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 805 | const char *SPY_GetWndName( HWND hwnd ) |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 806 | { |
| 807 | static char wnd_buffer[16]; |
| 808 | |
| 809 | WND* pWnd = WIN_FindWndPtr( hwnd ); |
| 810 | if( pWnd ) |
| 811 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 812 | INT n = sizeof(wnd_buffer) - 6; |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 813 | LPSTR p = wnd_buffer; |
| 814 | LPSTR src; |
| 815 | |
| 816 | char postfix; |
| 817 | |
| 818 | if( pWnd->text && pWnd->text[0] != '\0' ) |
| 819 | { |
| 820 | src = pWnd->text; |
| 821 | *(p++) = postfix = '\"'; |
| 822 | while ((n-- > 1) && *src) *p++ = *src++; |
| 823 | } |
| 824 | else /* get class name */ |
| 825 | { |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 826 | INT len; |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 827 | |
| 828 | *(p++)='{'; |
Patrik Stridvall | 4bf3354 | 1999-06-12 14:52:15 +0000 | [diff] [blame] | 829 | GlobalGetAtomNameA((ATOM) GetClassWord(pWnd->hwndSelf, GCW_ATOM), p, n + 1); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 830 | src = p += (len = lstrlenA(p)); |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 831 | if( len >= n ) src = wnd_buffer; /* something nonzero */ |
| 832 | postfix = '}'; |
| 833 | } |
| 834 | if( *src ) for( n = 0; n < 3; n++ ) *(p++)='.'; |
| 835 | *(p++) = postfix; |
| 836 | *(p++) = '\0'; |
Francois Boisvert | 6b1b41c | 1999-03-14 17:25:32 +0000 | [diff] [blame] | 837 | WIN_ReleaseWndPtr(pWnd); |
| 838 | |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 839 | } |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 840 | else lstrcpyA( wnd_buffer, "\"NULL\"" ); |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 841 | return wnd_buffer; |
| 842 | } |
Juergen Schmied | 155168e | 1999-05-22 10:32:09 +0000 | [diff] [blame] | 843 | /*********************************************************************** |
| 844 | * SPY_DumpStructure |
| 845 | */ |
| 846 | void SPY_DumpStructure (UINT msg, LPARAM structure) |
| 847 | { |
| 848 | switch (msg) |
| 849 | { |
| 850 | case WM_DRAWITEM: |
| 851 | { DRAWITEMSTRUCT *lpdis = (DRAWITEMSTRUCT*) structure; |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 852 | TRACE("DRAWITEMSTRUCT: CtlType=0x%08x CtlID=0x%08x\n", lpdis->CtlType, lpdis->CtlID); |
| 853 | TRACE("itemID=0x%08x itemAction=0x%08x itemState=0x%08x\n", lpdis->itemID, lpdis->itemAction, lpdis->itemState); |
| 854 | TRACE("hWnd=0x%04x hDC=0x%04x (%d,%d)-(%d,%d) itemData=0x%08lx\n", |
Juergen Schmied | 155168e | 1999-05-22 10:32:09 +0000 | [diff] [blame] | 855 | lpdis->hwndItem, lpdis->hDC, lpdis->rcItem.left, lpdis->rcItem.top, lpdis->rcItem.right, lpdis->rcItem.bottom, lpdis->itemData); |
| 856 | } |
| 857 | break; |
| 858 | case WM_MEASUREITEM: |
| 859 | { MEASUREITEMSTRUCT *lpmis = (MEASUREITEMSTRUCT*) structure; |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 860 | TRACE("MEASUREITEMSTRUCT: CtlType=0x%08x CtlID=0x%08x\n", lpmis->CtlType, lpmis->CtlID); |
| 861 | TRACE("itemID=0x%08x itemWidth=0x%08x itemHeight=0x%08x\n", lpmis->itemID, lpmis->itemWidth, lpmis->itemHeight); |
| 862 | TRACE("itemData=0x%08lx\n", lpmis->itemData); |
Juergen Schmied | 155168e | 1999-05-22 10:32:09 +0000 | [diff] [blame] | 863 | } |
| 864 | break; |
| 865 | case WM_NOTIFY: |
| 866 | { NMHDR * pnmh = (NMHDR*) structure; |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 867 | TRACE("NMHDR hwndFrom=0x%08x idFrom=0x%08x code=0x%08x\n", pnmh->hwndFrom, pnmh->idFrom, pnmh->code); |
Juergen Schmied | 155168e | 1999-05-22 10:32:09 +0000 | [diff] [blame] | 868 | } |
| 869 | default: |
| 870 | break; |
| 871 | } |
| 872 | |
| 873 | } |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 874 | /*********************************************************************** |
| 875 | * SPY_EnterMessage |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 876 | */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 877 | void SPY_EnterMessage( INT iFlag, HWND hWnd, UINT msg, |
| 878 | WPARAM wParam, LPARAM lParam ) |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 879 | { |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 880 | LPCSTR pname; |
| 881 | |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 882 | if (!TRACE_ON(message) || SPY_EXCLUDE(msg)) return; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 883 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 884 | /* each SPY_SENDMESSAGE must be complemented by call to SPY_ExitMessage */ |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 885 | switch(iFlag) |
Alexandre Julliard | d2e1c1a | 1996-03-09 16:12:43 +0000 | [diff] [blame] | 886 | { |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 887 | case SPY_DISPATCHMESSAGE16: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 888 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 889 | TRACE("%*s(%04x) %-16s message [%04x] %s dispatched wp=%04x lp=%08lx\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 890 | SPY_IndentLevel, "", hWnd, pname, msg, SPY_GetMsgName( msg ), |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 891 | wParam, lParam); |
| 892 | break; |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 893 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 894 | case SPY_DISPATCHMESSAGE: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 895 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 896 | TRACE("%*s(%08x) %-16s message [%04x] %s dispatched wp=%08x lp=%08lx\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 897 | SPY_IndentLevel, "", hWnd, pname, msg, SPY_GetMsgName( msg ), |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 898 | wParam, lParam); |
| 899 | break; |
| 900 | |
| 901 | case SPY_SENDMESSAGE16: |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 902 | case SPY_SENDMESSAGE: |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 903 | { |
| 904 | char taskName[30]; |
Alexandre Julliard | 8bbf818 | 1996-09-13 16:50:47 +0000 | [diff] [blame] | 905 | HTASK16 hTask = GetWindowTask16(hWnd); |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 906 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 907 | if (hTask == GetCurrentTask()) strcpy( taskName, "self" ); |
| 908 | else if (!hTask) strcpy( taskName, "Wine" ); |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 909 | else |
| 910 | { |
| 911 | sprintf( taskName, "task %04x ???", hTask ); |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 912 | GetModuleName16( hTask, taskName + 10, sizeof(taskName) - 10 ); |
Alexandre Julliard | dadf78f | 1998-05-17 17:13:43 +0000 | [diff] [blame] | 913 | } |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 914 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 915 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 916 | if (iFlag == SPY_SENDMESSAGE16) |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 917 | TRACE("%*s(%04x) %-16s message [%04x] %s sent from %s wp=%04x lp=%08lx\n", |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 918 | SPY_IndentLevel, "", hWnd, pname, msg, SPY_GetMsgName( msg ), |
| 919 | taskName, wParam, lParam ); |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 920 | else |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 921 | { TRACE("%*s(%08x) %-16s message [%04x] %s sent from %s wp=%08x lp=%08lx\n", |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 922 | SPY_IndentLevel, "", hWnd, pname, msg, SPY_GetMsgName( msg ), |
| 923 | taskName, wParam, lParam ); |
Juergen Schmied | 155168e | 1999-05-22 10:32:09 +0000 | [diff] [blame] | 924 | SPY_DumpStructure(msg, lParam); |
| 925 | } |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 926 | } |
| 927 | break; |
| 928 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 929 | case SPY_DEFWNDPROC16: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 930 | if( SPY_ExcludeDWP ) return; |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 931 | TRACE("%*s(%04x) DefWindowProc16: %s [%04x] wp=%04x lp=%08lx\n", |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 932 | SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ), |
| 933 | msg, wParam, lParam ); |
| 934 | break; |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 935 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 936 | case SPY_DEFWNDPROC: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 937 | if( SPY_ExcludeDWP ) return; |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 938 | TRACE("%*s(%08x) DefWindowProc32: %s [%04x] wp=%08x lp=%08lx\n", |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 939 | SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ), |
| 940 | msg, wParam, lParam ); |
| 941 | break; |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 942 | } |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 943 | SPY_IndentLevel += SPY_INDENT_UNIT; |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 944 | } |
| 945 | |
| 946 | |
| 947 | /*********************************************************************** |
| 948 | * SPY_ExitMessage |
| 949 | */ |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 950 | void SPY_ExitMessage( INT iFlag, HWND hWnd, UINT msg, LRESULT lReturn ) |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 951 | { |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 952 | LPCSTR pname; |
| 953 | |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 954 | if (!TRACE_ON(message) || SPY_EXCLUDE(msg) || |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 955 | (SPY_ExcludeDWP && (iFlag == SPY_RESULT_DEFWND16 || iFlag == SPY_RESULT_DEFWND)) ) |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 956 | return; |
| 957 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 958 | if (SPY_IndentLevel) SPY_IndentLevel -= SPY_INDENT_UNIT; |
| 959 | |
| 960 | switch(iFlag) |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 961 | { |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 962 | case SPY_RESULT_DEFWND16: |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 963 | TRACE(" %*s(%04x) DefWindowProc16: %s [%04x] returned %08lx\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 964 | SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ), msg, lReturn ); |
| 965 | break; |
| 966 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 967 | case SPY_RESULT_DEFWND: |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 968 | TRACE(" %*s(%08x) DefWindowProc32: %s [%04x] returned %08lx\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 969 | SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ), msg, lReturn ); |
| 970 | break; |
| 971 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 972 | case SPY_RESULT_OK16: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 973 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 974 | TRACE(" %*s(%04x) %-16s message [%04x] %s returned %08lx\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 975 | SPY_IndentLevel, "", hWnd, pname, msg, |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 976 | SPY_GetMsgName( msg ), lReturn ); |
| 977 | break; |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 978 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 979 | case SPY_RESULT_OK: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 980 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 981 | TRACE(" %*s(%08x) %-16s message [%04x] %s returned %08lx\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 982 | SPY_IndentLevel, "", hWnd, pname, msg, |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 983 | SPY_GetMsgName( msg ), lReturn ); |
| 984 | break; |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 985 | |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 986 | case SPY_RESULT_INVALIDHWND16: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 987 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 988 | WARN(" %*s(%04x) %-16s message [%04x] %s HAS INVALID HWND\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 989 | SPY_IndentLevel, "", hWnd, pname, msg, |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 990 | SPY_GetMsgName( msg ) ); |
| 991 | break; |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 992 | |
Alexandre Julliard | a396029 | 1999-02-26 11:11:13 +0000 | [diff] [blame] | 993 | case SPY_RESULT_INVALIDHWND: |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 994 | pname = SPY_GetWndName(hWnd); |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 995 | WARN(" %*s(%08x) %-16s message [%04x] %s HAS INVALID HWND\n", |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 996 | SPY_IndentLevel, "", hWnd, pname, msg, |
Alexandre Julliard | 2d93d00 | 1996-05-21 15:01:41 +0000 | [diff] [blame] | 997 | SPY_GetMsgName( msg ) ); |
| 998 | break; |
| 999 | } |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 1000 | } |
| 1001 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1002 | |
| 1003 | /*********************************************************************** |
| 1004 | * SPY_Init |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 1005 | */ |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1006 | int SPY_Init(void) |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 1007 | { |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1008 | int i; |
Alexandre Julliard | 23946ad | 1997-06-16 17:43:53 +0000 | [diff] [blame] | 1009 | char buffer[1024]; |
Alexandre Julliard | aca0578 | 1994-10-17 18:12:41 +0000 | [diff] [blame] | 1010 | |
Alexandre Julliard | a69b88b | 1998-03-15 20:29:56 +0000 | [diff] [blame] | 1011 | if (!TRACE_ON(message)) return TRUE; |
Alexandre Julliard | 3db94ef | 1997-09-28 17:43:24 +0000 | [diff] [blame] | 1012 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1013 | PROFILE_GetWineIniString( "Spy", "Include", "", buffer, sizeof(buffer) ); |
| 1014 | if (buffer[0] && strcmp( buffer, "INCLUDEALL" )) |
| 1015 | { |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 1016 | TRACE("Include=%s\n", buffer ); |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1017 | for (i = 0; i <= SPY_MAX_MSGNUM; i++) |
| 1018 | SPY_Exclude[i] = (MessageTypeNames[i] && !strstr(buffer,MessageTypeNames[i])); |
| 1019 | } |
Alexandre Julliard | af0bae5 | 1995-10-03 17:06:08 +0000 | [diff] [blame] | 1020 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1021 | PROFILE_GetWineIniString( "Spy", "Exclude", "", buffer, sizeof(buffer) ); |
| 1022 | if (buffer[0]) |
| 1023 | { |
Alexandre Julliard | 61fece0 | 1999-06-26 19:09:08 +0000 | [diff] [blame] | 1024 | TRACE("Exclude=%s\n", buffer ); |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1025 | if (!strcmp( buffer, "EXCLUDEALL" )) |
| 1026 | for (i = 0; i <= SPY_MAX_MSGNUM; i++) SPY_Exclude[i] = TRUE; |
| 1027 | else |
| 1028 | for (i = 0; i <= SPY_MAX_MSGNUM; i++) |
| 1029 | SPY_Exclude[i] = (MessageTypeNames[i] && strstr(buffer,MessageTypeNames[i])); |
| 1030 | } |
Alexandre Julliard | 77b9918 | 1997-09-14 17:17:23 +0000 | [diff] [blame] | 1031 | |
| 1032 | SPY_ExcludeDWP = PROFILE_GetWineIniInt( "Spy", "ExcludeDWP", 0 ); |
| 1033 | |
Alexandre Julliard | b817f4f | 1996-03-14 18:08:34 +0000 | [diff] [blame] | 1034 | return 1; |
Alexandre Julliard | cdd0923 | 1994-01-12 11:12:51 +0000 | [diff] [blame] | 1035 | } |