2 * Message spying routines
4 * Copyright 1994, Bob Amstadt
8 #define NO_TRANSITION_TYPES /* This file is Win32-clean */
19 #define SPY_MAX_MSGNUM WM_USER
20 #define SPY_INDENT_UNIT 4 /* 4 spaces */
22 static const char * const MessageTypeNames[SPY_MAX_MSGNUM + 1] =
40 "WM_CLOSE", /* 0x10 */
56 "WM_SETCURSOR", /* 0x20 */
72 "WM_SETFONT", /* 0x30 */
84 "wm_otherwindowcreated",
85 "wm_otherwindowdestroyed",
86 "wm_activateshellwindow",
90 "wm_compacting", NULL, NULL,
91 "WM_COMMNOTIFY", NULL,
92 "WM_WINDOWPOSCHANGING", /* 0x0046 */
93 "WM_WINDOWPOSCHANGED", /* 0x0047 */
96 "WM_CANCELJOURNAL", NULL, NULL, NULL, NULL,
99 NULL, NULL, NULL, NULL, NULL, NULL, NULL,
100 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
103 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
104 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
107 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
108 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
111 "WM_NCCREATE", /* 0x0081 */
112 "WM_NCDESTROY", /* 0x0082 */
113 "WM_NCCALCSIZE", /* 0x0083 */
114 "WM_NCHITTEST", /* 0x0084 */
115 "WM_NCPAINT", /* 0x0085 */
116 "WM_NCACTIVATE", /* 0x0086 */
117 "WM_GETDLGCODE", /* 0x0087 */
119 "wm_synctask", NULL, NULL, NULL, NULL, NULL, NULL,
122 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
123 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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,
138 /* 0x00B0 - Win32 Edit controls */
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 */
157 "EM_LINELENGTH32", /* 0x00c1 */
158 "EM_REPLACESEL32", /* 0x00c2 */
160 "EM_GETLINE32", /* 0x00c4 */
161 "EM_LIMITTEXT32", /* 0x00c5 */
162 "EM_CANUNDO32", /* 0x00c6 */
163 "EM_UNDO32", /* 0x00c7 */
164 "EM_FMTLINES32", /* 0x00c8 */
165 "EM_LINEFROMCHAR32", /* 0x00c9 */
167 "EM_SETTABSTOPS32", /* 0x00cb */
168 "EM_SETPASSWORDCHAR32", /* 0x00cc */
169 "EM_EMPTYUNDOBUFFER32", /* 0x00cd */
170 "EM_GETFIRSTVISIBLELINE32", /* 0x00ce */
171 "EM_SETREADONLY32", /* 0x00cf */
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 */
181 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
183 /* 0x00E0 - Win32 Scrollbars */
184 "SBM_SETPOS32", /* 0x00e0 */
185 "SBM_GETPOS32", /* 0x00e1 */
186 "SBM_SETRANGE32", /* 0x00e2 */
187 "SBM_GETRANGE32", /* 0x00e3 */
188 "SBM_ENABLE_ARROWS32", /* 0x00e4 */
190 "SBM_SETRANGEREDRAW32", /* 0x00e6 */
192 "SBM_SETSCROLLINFO32", /* 0x00e9 */
193 "SBM_GETSCROLLINFO32", /* 0x00ea */
194 NULL, NULL, NULL, NULL, NULL,
196 /* 0x00F0 - Win32 Buttons */
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 */
205 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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 */
219 "WM_INTERIM", NULL, NULL, NULL,
221 "WM_INITDIALOG", /* 0x0110 */
222 "WM_COMMAND", /* 0x0111 */
223 "WM_SYSCOMMAND", /* 0x0112 */
224 "WM_TIMER", /* 0x0113 */
225 "WM_HSCROLL", /* 0x0114 */
226 "WM_VSCROLL", /* 0x0115 */
227 "WM_INITMENU", /* 0x0116 */
228 "WM_INITMENUPOPUP", /* 0x0117 */
229 "WM_SYSTIMER", /* 0x0118 */
230 NULL, NULL, NULL, NULL, NULL, NULL,
231 "WM_MENUSELECT", /* 0x011f */
233 "WM_MENUCHAR", /* 0x0120 */
234 "WM_ENTERIDLE", /* 0x0121 */
235 NULL, NULL, NULL, NULL, NULL, NULL,
236 NULL, NULL, NULL, NULL, NULL, NULL, NULL, 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,
250 /* 0x0140 - Win32 Comboboxes */
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 */
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 */
285 "CB_SETDROPPEDWIDTH32", /* 0x0160 */
286 "CB_INITSTORAGE32", /* 0x0161 */
287 NULL, NULL, NULL, NULL, NULL, NULL,
288 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
290 /* 0x0170 - Win32 Static controls */
291 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
292 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
294 /* 0x0180 - Win32 Listboxes */
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 */
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 */
329 "LB_SETITEMHEIGHT32", /* 0x01a0 */
330 "LB_GETITEMHEIGHT32", /* 0x01a1 */
331 "LB_FINDSTRINGEXACT32", /* 0x01a2 */
332 "LB_CARETON32", /* 0x01a3 */
333 "LB_CARETOFF32", /* 0x01a4 */
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,
342 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
343 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
346 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
347 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
350 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
351 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
354 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
355 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
358 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
359 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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 */
371 NULL, NULL, NULL, NULL, NULL, NULL,
373 "WM_PARENTNOTIFY", /* 0x0210 */
374 "WM_ENTERMENULOOP", /* 0x0211 */
375 "WM_EXITMENULOOP", /* 0x0212 */
376 "wm_nextmenu", /* 0x0213 */
377 NULL, NULL, NULL, NULL,
378 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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 */
392 "wm_querydropobject",
399 "WM_MDISETMENU", /* 0x0230 */
400 "WM_ENTERSIZEMOVE", /* 0x0231 */
401 "WM_EXITSIZEMOVE", /* 0x0232 */
402 "WM_DROPFILES", /* 0x0233 */
403 "WM_MDIREFRESHMENU", NULL, NULL, NULL,
405 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
408 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
409 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
412 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
413 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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,
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,
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,
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,
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,
443 "WM_CUT", /* 0x0300 */
449 "WM_RENDERALLFORMATS",
450 "WM_DESTROYCLIPBOARD",
453 "WM_VSCROLLCLIPBOARD",
455 "WM_ASKCBFORMATNAME",
457 "WM_HSCROLLCLIPBOARD",
458 "WM_QUERYNEWPALETTE", /* 0x030f*/
460 "WM_PALETTEISCHANGING",
462 "WM_HOTKEY", /* 0x0312 */
463 NULL, NULL, NULL, NULL, NULL, NULL,
464 NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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,
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,
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,
490 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
493 NULL, NULL, NULL, NULL, NULL, NULL, NULL,
494 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 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 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
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 */
517 "WM_DDE_EXECUTE", /* 0x3E8 */
518 NULL, NULL, NULL, NULL, NULL, NULL, NULL,
522 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
523 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
529 static BOOL16 SPY_Exclude[SPY_MAX_MSGNUM+1];
530 static int SPY_IndentLevel = 0;
532 #define SPY_EXCLUDE(msg) \
533 (SPY_Exclude[(msg) > SPY_MAX_MSGNUM ? SPY_MAX_MSGNUM : (msg)])
535 /***********************************************************************
538 const char *SPY_GetMsgName( UINT32 msg )
540 static char buffer[20];
542 if (msg <= SPY_MAX_MSGNUM)
544 if (!MessageTypeNames[msg]) return "???";
545 return MessageTypeNames[msg];
547 sprintf( buffer, "WM_USER+%04x", msg - WM_USER );
552 /***********************************************************************
555 void SPY_EnterMessage( INT32 iFlag, HWND32 hWnd, UINT32 msg,
556 WPARAM32 wParam, LPARAM lParam )
558 if (!debugging_message || SPY_EXCLUDE(msg)) return;
560 /* each SPY_SENDMESSAGE must be complemented by call to SPY_ExitMessage */
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 ),
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 ),
575 case SPY_SENDMESSAGE16:
576 case SPY_SENDMESSAGE32:
579 HTASK16 hTask = GetWindowTask16(hWnd);
580 if (hTask == GetCurrentTask()) strcpy( taskName, "self" );
581 else if (!hTask) strcpy( taskName, "Wine" );
582 else sprintf( taskName, "task %04x %s",
583 hTask, MODULE_GetModuleName( GetExePtr(hTask) ) );
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,
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,
598 case SPY_DEFWNDPROC16:
599 dprintf_message(stddeb, "%*s(%04x) DefWindowProc: %s [%04x] wp=%04x lp=%08lx\n",
600 SPY_IndentLevel, "", hWnd, SPY_GetMsgName( msg ),
601 msg, wParam, lParam );
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 );
610 SPY_IndentLevel += SPY_INDENT_UNIT;
614 /***********************************************************************
617 void SPY_ExitMessage( INT32 iFlag, HWND32 hWnd, UINT32 msg, LRESULT lReturn )
619 if (!debugging_message || SPY_EXCLUDE(msg)) return;
620 if (SPY_IndentLevel) SPY_IndentLevel -= SPY_INDENT_UNIT;
624 case SPY_RESULT_OK16:
625 dprintf_message(stddeb,"%*s(%04x) message [%04x] %s returned %08lx\n",
626 SPY_IndentLevel, "", hWnd, msg,
627 SPY_GetMsgName( msg ), lReturn );
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 );
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 ) );
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 ) );
648 /***********************************************************************
656 PROFILE_GetWineIniString( "Spy", "Include", "", buffer, sizeof(buffer) );
657 if (buffer[0] && strcmp( buffer, "INCLUDEALL" ))
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]));
664 PROFILE_GetWineIniString( "Spy", "Exclude", "", buffer, sizeof(buffer) );
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;
671 for (i = 0; i <= SPY_MAX_MSGNUM; i++)
672 SPY_Exclude[i] = (MessageTypeNames[i] && strstr(buffer,MessageTypeNames[i]));