⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wm.c

📁 <Win2k系统编程>源码.次数为国人自编,内容丰富,还是不错的.
💻 C
📖 第 1 页 / 共 3 页
字号:

/******************************************************************************\
*       This is a part of the Microsoft Source Code Samples. 
*       Copyright (C) 1993-1997 Microsoft Corporation.
*       All rights reserved. 
*       This source code is only intended as a supplement to 
*       Microsoft Development Tools and/or WinHelp documentation.
*       See these sources for detailed information regarding the 
*       Microsoft samples programs.
\******************************************************************************/

/*****************************************************************************\
*
* Module: wm.c
*
* Contains functions that lookup and format messages received by the
* Windows debugging Spy SDK applet.
*
* Functions:
*
*    CalculatePrintfTabs()
*    PrintMsg()
*    DecodeGeneric()
*    MsgCmp()
*    mprintf()
*
* Comments:
*
\*****************************************************************************/

#include "spy.h"
#include <stdlib.h>
#include <dde.h>


PRIVATE CHAR szFormatName[] = "%08X\t%s\t%08X\t%08X\r\n";
PRIVATE CHAR szFormatUSER[] = "%08X\tWM_USER+%d\t%08X\t%08X\r\n";
PRIVATE CHAR szFormatUnknown[] = "%08X\tWM_%04X\t%08X\t%08X\r\n";



VOID DecodeGeneric(HWND hwnd, UINT msg, PSPYMSGDATA psmd) {}


//
// Message description table.  Describes each message that can be spied on.
// This table must be kept in sorted order.
//
MSGDESC gaMsgs[] =
{
    { "WM_NULL", WM_NULL,                                   // 0x0000
        0, DecodeGeneric },
    { "WM_CREATE", WM_CREATE,                               // 0x0001
        0, DecodeGeneric },
    { "WM_DESTROY", WM_DESTROY,                             // 0x0002
        0, DecodeGeneric },
    { "WM_MOVE", WM_MOVE,                                   // 0x0003
        0, DecodeGeneric },
    { "WM_SIZE", WM_SIZE,                                   // 0x0005
        0, DecodeGeneric },
    { "WM_ACTIVATE", WM_ACTIVATE,                           // 0x0006
        0, DecodeGeneric },
    { "WM_SETFOCUS", WM_SETFOCUS,                           // 0x0007
        0, DecodeGeneric },
    { "WM_KILLFOCUS", WM_KILLFOCUS,                         // 0x0008
        0, DecodeGeneric },
    { "WM_ENABLE", WM_ENABLE,                               // 0x000A
        0, DecodeGeneric },
    { "WM_SETREDRAW", WM_SETREDRAW,                         // 0x000B
        0, DecodeGeneric },
    { "WM_SETTEXT", WM_SETTEXT,                             // 0x000C
        0, DecodeGeneric },
    { "WM_GETTEXT", WM_GETTEXT,                             // 0x000D
        0, DecodeGeneric },
    { "WM_GETTEXTLENGTH", WM_GETTEXTLENGTH,                 // 0x000E
        0, DecodeGeneric },
    { "WM_PAINT", WM_PAINT,                                 // 0x000F
        0, DecodeGeneric },
    { "WM_CLOSE", WM_CLOSE,                                 // 0x0010
        0, DecodeGeneric },
    { "WM_QUERYENDSESSION", WM_QUERYENDSESSION,             // 0x0011
        0, DecodeGeneric },
    { "WM_QUIT", WM_QUIT,                                   // 0x0012
        0, DecodeGeneric },
    { "WM_QUERYOPEN", WM_QUERYOPEN,                         // 0x0013
        0, DecodeGeneric },
    { "WM_ERASEBKGND", WM_ERASEBKGND,                       // 0x0014
        0, DecodeGeneric },
    { "WM_SYSCOLORCHANGE", WM_SYSCOLORCHANGE,               // 0x0015
        0, DecodeGeneric },
    { "WM_ENDSESSION", WM_ENDSESSION,                       // 0x0016
        0, DecodeGeneric },
    { "WM_SHOWWINDOW", WM_SHOWWINDOW,                       // 0x0018
        0, DecodeGeneric },
    { "WM_WININICHANGE", WM_WININICHANGE,                   // 0x001A
        0, DecodeGeneric },
    { "WM_DEVMODECHANGE", WM_DEVMODECHANGE,                 // 0x001B
        0, DecodeGeneric },
    { "WM_ACTIVATEAPP", WM_ACTIVATEAPP,                     // 0x001C
        0, DecodeGeneric },
    { "WM_FONTCHANGE", WM_FONTCHANGE,                       // 0x001D
        0, DecodeGeneric },
    { "WM_TIMECHANGE", WM_TIMECHANGE,                       // 0x001E
        0, DecodeGeneric },
    { "WM_CANCELMODE", WM_CANCELMODE,                       // 0x001F
        0, DecodeGeneric },
    { "WM_SETCURSOR", WM_SETCURSOR,                         // 0x0020
        MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_MOUSEACTIVATE", WM_MOUSEACTIVATE,                 // 0x0021
        MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_CHILDACTIVATE", WM_CHILDACTIVATE,                 // 0x0022
        0, DecodeGeneric },
    { "WM_QUEUESYNC", WM_QUEUESYNC,                         // 0x0023
        0, DecodeGeneric },
    { "WM_GETMINMAXINFO", WM_GETMINMAXINFO,                 // 0x0024
        0, DecodeGeneric },
    { "WM_PAINTICON", WM_PAINTICON,                         // 0x0026
        0, DecodeGeneric },
    { "WM_ICONERASEBKGND", WM_ICONERASEBKGND,               // 0x0027
        0, DecodeGeneric },
    { "WM_NEXTDLGCTL", WM_NEXTDLGCTL,                       // 0x0028
        0, DecodeGeneric },
    { "WM_SPOOLERSTATUS", WM_SPOOLERSTATUS,                 // 0x002A
        0, DecodeGeneric },
    { "WM_DRAWITEM", WM_DRAWITEM,                           // 0x002B
        0, DecodeGeneric },
    { "WM_MEASUREITEM", WM_MEASUREITEM,                     // 0x002C
        0, DecodeGeneric },
    { "WM_DELETEITEM", WM_DELETEITEM,                       // 0x002D
        0, DecodeGeneric },
    { "WM_VKEYTOITEM", WM_VKEYTOITEM,                       // 0x002E
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_CHARTOITEM", WM_CHARTOITEM,                       // 0x002F
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_SETFONT", WM_SETFONT,                             // 0x0030
        0, DecodeGeneric },
    { "WM_GETFONT", WM_GETFONT,                             // 0x0031
        0, DecodeGeneric },
    { "WM_SETHOTKEY", WM_SETHOTKEY,                         // 0x0032
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_GETHOTKEY", WM_GETHOTKEY,                         // 0x0033
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_QUERYDRAGICON", WM_QUERYDRAGICON,                 // 0x0037
        0, DecodeGeneric },
    { "WM_COMPAREITEM", WM_COMPAREITEM,                     // 0x0039
        0, DecodeGeneric },
    { "WM_COMPACTING", WM_COMPACTING,                       // 0x0041
        0, DecodeGeneric },
    { "WM_WINDOWPOSCHANGING", WM_WINDOWPOSCHANGING,         // 0x0046
        0, DecodeGeneric },
    { "WM_WINDOWPOSCHANGED", WM_WINDOWPOSCHANGED,           // 0x0047
        0, DecodeGeneric },
    { "WM_POWER", WM_POWER,                                 // 0x0048
        0, DecodeGeneric },
    { "WM_COPYDATA", WM_COPYDATA,                           // 0x004A
        0, DecodeGeneric },
    { "WM_CANCELJOURNAL", WM_CANCELJOURNAL,                 // 0x004B
        0, DecodeGeneric },
    { "WM_NCCREATE", WM_NCCREATE,                           // 0x0081
        MTF_TYPE_NC, DecodeGeneric },
    { "WM_NCDESTROY", WM_NCDESTROY,                         // 0x0082
        MTF_TYPE_NC, DecodeGeneric },
    { "WM_NCCALCSIZE", WM_NCCALCSIZE,                       // 0x0083
        MTF_TYPE_NC, DecodeGeneric },
    { "WM_NCHITTEST", WM_NCHITTEST,                         // 0x0084
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCPAINT", WM_NCPAINT,                             // 0x0085
        MTF_TYPE_NC, DecodeGeneric },
    { "WM_NCACTIVATE", WM_NCACTIVATE,                       // 0x0086
        MTF_TYPE_NC, DecodeGeneric },
    { "WM_GETDLGCODE", WM_GETDLGCODE,                       // 0x0087
        0, DecodeGeneric },
    { "WM_NCMOUSEMOVE", WM_NCMOUSEMOVE,                     // 0x00A0
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCLBUTTONDOWN", WM_NCLBUTTONDOWN,                 // 0x00A1
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCLBUTTONUP", WM_NCLBUTTONUP,                     // 0x00A2
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCLBUTTONDBLCLK", WM_NCLBUTTONDBLCLK,             // 0x00A3
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCRBUTTONDOWN", WM_NCRBUTTONDOWN,                 // 0x00A4
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCRBUTTONUP", WM_NCRBUTTONUP,                     // 0x00A5
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCRBUTTONDBLCLK", WM_NCRBUTTONDBLCLK,             // 0x00A6
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCMBUTTONDOWN", WM_NCMBUTTONDOWN,                 // 0x00A7
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCMBUTTONUP", WM_NCMBUTTONUP,                     // 0x00A8
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "WM_NCMBUTTONDBLCLK", WM_NCMBUTTONDBLCLK,             // 0x00A9
        MTF_TYPE_NC | MTF_TYPE_MOUSE, DecodeGeneric },
    { "EM_GETSEL", EM_GETSEL,                               // 0x00B0
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETSEL", EM_SETSEL,                               // 0x00B1
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETRECT", EM_GETRECT,                             // 0x00B2
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETRECT", EM_SETRECT,                             // 0x00B3
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETRECTNP", EM_SETRECTNP,                         // 0x00B4
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SCROLL", EM_SCROLL,                               // 0x00B5
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_LINESCROLL", EM_LINESCROLL,                       // 0x00B6
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SCROLLCARET", EM_SCROLLCARET,                     // 0x00B7
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETMODIFY", EM_GETMODIFY,                         // 0x00B8
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETMODIFY", EM_SETMODIFY,                         // 0x00B9
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETLINECOUNT", EM_GETLINECOUNT,                   // 0x00BA
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_LINEINDEX", EM_LINEINDEX,                         // 0x00BB
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETHANDLE", EM_SETHANDLE,                         // 0x00BC
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETHANDLE", EM_GETHANDLE,                         // 0x00BD
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETTHUMB", EM_GETTHUMB,                           // 0x00BE
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_LINELENGTH", EM_LINELENGTH,                       // 0x00C1
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_REPLACESEL", EM_REPLACESEL,                       // 0x00C2
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETLINE", EM_GETLINE,                             // 0x00C4
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_LIMITTEXT", EM_LIMITTEXT,                         // 0x00C5
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_CANUNDO", EM_CANUNDO,                             // 0x00C6
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_UNDO", EM_UNDO,                                   // 0x00C7
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_FMTLINES", EM_FMTLINES,                           // 0x00C8
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_LINEFROMCHAR", EM_LINEFROMCHAR,                   // 0x00C9
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETTABSTOPS", EM_SETTABSTOPS,                     // 0x00CB
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETPASSWORDCHAR", EM_SETPASSWORDCHAR,             // 0x00CC
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_EMPTYUNDOBUFFER", EM_EMPTYUNDOBUFFER,             // 0x00CD
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETFIRSTVISIBLELINE", EM_GETFIRSTVISIBLELINE,     // 0x00CE
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETREADONLY", EM_SETREADONLY,                     // 0x00CF
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_SETWORDBREAKPROC", EM_SETWORDBREAKPROC,           // 0x00D0
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETWORDBREAKPROC", EM_GETWORDBREAKPROC,           // 0x00D1
        MTF_TYPE_EM, DecodeGeneric },
    { "EM_GETPASSWORDCHAR", EM_GETPASSWORDCHAR,             // 0x00D2
        MTF_TYPE_EM, DecodeGeneric },
    { "SBM_SETPOS", SBM_SETPOS,                             // 0x00E0
        0, DecodeGeneric },
    { "SBM_GETPOS", SBM_GETPOS,                             // 0x00E1
        0, DecodeGeneric },
    { "SBM_SETRANGE", SBM_SETRANGE,                         // 0x00E2
        0, DecodeGeneric },
    { "SBM_GETRANGE", SBM_GETRANGE,                         // 0x00E3
        0, DecodeGeneric },
    { "SBM_ENABLE_ARROWS", SBM_ENABLE_ARROWS,               // 0x00E4
        0, DecodeGeneric },
    { "SBM_SETRANGEREDRAW", SBM_SETRANGEREDRAW,             // 0x00E6
        0, DecodeGeneric },
    { "BM_GETCHECK", BM_GETCHECK,                           // 0x00F0
        MTF_TYPE_BM, DecodeGeneric },
    { "BM_SETCHECK", BM_SETCHECK,                           // 0x00F1
        MTF_TYPE_BM, DecodeGeneric },
    { "BM_GETSTATE", BM_GETSTATE,                           // 0x00F2
        MTF_TYPE_BM, DecodeGeneric },
    { "BM_SETSTATE", BM_SETSTATE,                           // 0x00F3
        MTF_TYPE_BM, DecodeGeneric },
    { "BM_SETSTYLE", BM_SETSTYLE,                           // 0x00F4
        MTF_TYPE_BM, DecodeGeneric },
    { "WM_KEYDOWN", WM_KEYDOWN,                             // 0x0100
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_KEYUP", WM_KEYUP,                                 // 0x0101
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_CHAR", WM_CHAR,                                   // 0x0102
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_DEADCHAR", WM_DEADCHAR,                           // 0x0103
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_SYSKEYDOWN", WM_SYSKEYDOWN,                       // 0x0104
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_SYSKEYUP", WM_SYSKEYUP,                           // 0x0105
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_SYSCHAR", WM_SYSCHAR,                             // 0x0106
        MTF_TYPE_KEYBD, DecodeGeneric },
    { "WM_SYSDEADCHAR", WM_SYSDEADCHAR,                     // 0x0107
        MTF_TYPE_KEYBD, DecodeGeneric },
#ifdef  FE_IME
    { "WM_WNT_CONVERTREQUESTEX", WM_WNT_CONVERTREQUESTEX,   // 0x0109
        MTF_TYPE_IME, DecodeGeneric },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -