surge
surgefree@163.com
2006-10-5
目标:增加WMSG命令
作用:显示Windows消息的名字和消息号
语法:WMSG [ 名字 | 消息号 ]
说明:名字大小写均可
使用的编译器:
Borland C++ Compiler 5.5
With Command Line Tools
Version 5.5.1
Register your product at:
http://www.borland.com/bcppbuilder/webreg/
Copyright 2000 Inprise Corp.
此编译器是免费发布的,主要的代码如下,其它细节请看源码。
为了与原插件区别,改版本号为320111。
--------------------------------------------
typedef struct t_msglist
{
ulong num;
char *str;
} t_msglist, *pt_msglist;
---------------------------------------------
t_msglist msglist[] = {
{0x0000, "WM_NULL"},
{0x0001, "WM_CREATE"},
{0x0002, "WM_DESTROY"},
{0x0003, "WM_MOVE"},
{0x0004, "WM_SIZEWAIT"},
{0x0005, "WM_SIZE"},
{0x0006, "WM_ACTIVATE"},
{0x0007, "WM_SETFOCUS"},
{0x0008, "WM_KILLFOCUS"},
{0x0009, "WM_SETVISIBLE"},
{0x000A, "WM_ENABLE"},
{0x000B, "WM_SETREDRAW"},
{0x000C, "WM_SETTEXT"},
{0x000D, "WM_GETTEXT"},
{0x000E, "WM_GETTEXTLENGTH"},
{0x000F, "WM_PAINT"},
{0x0010, "WM_CLOSE"},
{0x0011, "WM_QUERYENDSESSION"},
{0x0012, "WM_QUIT"},
{0x0013, "WM_QUERYOPEN"},
{0x0014, "WM_ERASEBKGND"},
{0x0015, "WM_SYSCOLORCHANGE"},
{0x0016, "WM_ENDSESSION"},
{0x0017, "WM_SYSTEMERROR"},
{0x0018, "WM_SHOWWINDOW"},
{0x0019, "WM_CTLCOLOR"},
{0x001A, "WM_WININICHANGE"},
{0x001B, "WM_DEVMODECHANGE"},
{0x001C, "WM_ACTIVATEAPP"},
{0x001D, "WM_FONTCHANGE"},
{0x001E, "WM_TIMECHANGE"},
{0x001F, "WM_CANCELMODE"},
{0x0020, "WM_SETCURSOR"},
{0x0021, "WM_MOUSEACTIVATE"},
{0x0022, "WM_CHILDACTIVATE"},
{0x0023, "WM_QUEUESYNC"},
{0x0024, "WM_GETMINMAXINFO"},
{0x0026, "WM_PAINTICON"},
{0x0027, "WM_ICONERASEBKGND"},
{0x0028, "WM_NEXTDLGCTL"},
{0x0029, "WM_ALTTABACTIVE"},
{0x002A, "WM_SPOOLERSTATUS"},
{0x002B, "WM_DRAWITEM"},
{0x002C, "WM_MEASUREITEM"},
{0x002D, "WM_DELETEITEM"},
{0x002E, "WM_VKEYTOITEM"},
{0x002F, "WM_CHARTOITEM"},
{0x0030, "WM_SETFONT"},
{0x0031, "WM_GETFONT"},
{0x0032, "WM_SETHOTKEY"},
{0x0033, "WM_GETHOTKEY"},
{0x0034, "WM_FILESYSCHANGE"},
{0x0035, "WM_ISACTIVEICON"},
{0x0036, "WM_QUERYPARKICON"},
{0x0037, "WM_QUERYDRAGICON"},
{0x0038, "WM_QUERYSAVESTATE"},
{0x0039, "WM_COMPAREITEM"},
{0x0040, "WM_TESTING"},
{0x0041, "WM_COMPACTING"},
{0x0044, "WM_COMMNOTIFY"},
{0x0046, "WM_WINDOWPOSCHANGING"},
{0x0047, "WM_WINDOWPOSCHANGED"},
{0x0048, "WM_POWER"},
{0x004A, "WM_COPYDATA"},
{0x004B, "WM_CANCELJOURNAL"},
{0x004E, "WM_NOTIFY"},
{0x0050, "WM_KBDCHANGEREQUEST"},
{0x0051, "WM_KBDLAYOUTCHANGE"},
{0x0052, "WM_TCARD"},
{0x0053, "WM_HELP"},
{0x0054, "WM_USERCHANGED"},
{0x0055, "WM_NOTIFYFORMAT"},
{0x007B, "WM_CONTEXTMENU"},
{0x007C, "WM_STYLECHANGING"},
{0x007D, "WM_STYLECHANGED"},
{0x007E, "WM_DISPLAYCHANGE"},
{0x007F, "WM_GETICON"},
{0x0080, "WM_SETICON"},
{0x0081, "WM_NCCREATE"},
{0x0082, "WM_NCDESTROY"},
{0x0083, "WM_NCCALCSIZE"},
{0x0084, "WM_NCHITTEST"},
{0x0085, "WM_NCPAINT"},
{0x0086, "WM_NCACTIVATE"},
{0x0087, "WM_GETDLGCODE"},
{0x0088, "WM_SYNCPAINT"},
{0x0089, "WM_SYNCTASK"},
{0x00A0, "WM_NCMOUSEMOVE"},
{0x00A1, "WM_NCLBUTTONDOWN"},
{0x00A2, "WM_NCLBUTTONUP"},
{0x00A3, "WM_NCLBUTTONDBLCLK"},
{0x00A4, "WM_NCRBUTTONDOWN"},
{0x00A5, "WM_NCRBUTTONUP"},
{0x00A6, "WM_NCRBUTTONDBLCLK"},
{0x00A7, "WM_NCMBUTTONDOWN"},
{0x00A8, "WM_NCMBUTTONUP"},
{0x00A9, "WM_NCMBUTTONDBLCLK"},
{0x00B0, "EM_GETSEL"},
{0x00B1, "EM_SETSEL"},
{0x00B2, "EM_GETRECT"},
{0x00B3, "EM_SETRECT"},
{0x00B4, "EM_SETRECTNP"},
{0x00B5, "EM_SCROLL"},
{0x00B6, "EM_LINESCROLL"},
{0x00B7, "EM_SCROLLCARET"},
{0x00B8, "EM_GETMODIFY"},
{0x00B9, "EM_SETMODIFY"},
{0x00BA, "EM_GETLINECOUNT"},
{0x00BB, "EM_LINEINDEX"},
{0x00BC, "EM_SETHANDLE"},
{0x00BD, "EM_GETHANDLE"},
{0x00BE, "EM_GETTHUMB"},
{0x00C1, "EM_LINELENGTH"},
{0x00C2, "EM_REPLACESEL"},
{0x00C4, "EM_GETLINE"},
{0x00C5, "EM_LIMITTEXT"},
{0x00C6, "EM_CANUNDO"},
{0x00C7, "EM_UNDO"},
{0x00C8, "EM_FMTLINES"},
{0x00C9, "EM_LINEFROMCHAR"},
{0x00CB, "EM_SETTABSTOPS"},
{0x00CC, "EM_SETPASSWORDCHAR"},
{0x00CD, "EM_EMPTYUNDOBUFFER"},
{0x00CE, "EM_GETFIRSTVISIBLELINE"},
{0x00CF, "EM_SETREADONLY"},
{0x00D0, "EM_SETWORDBREAKPROC"},
{0x00D1, "EM_GETWORDBREAKPROC"},
{0x00D2, "EM_GETPASSWORDCHAR"},
{0x00D3, "EM_SETMARGINS"},
{0x00D4, "EM_GETMARGINS"},
{0x00D5, "EM_GETLIMITTEXT"},
{0x00D6, "EM_POSFROMCHAR"},
{0x00D7, "EM_CHARFROMPOS"},
{0x00E0, "SBM_SETPOS"},
{0x00E1, "SBM_GETPOS"},
{0x00E2, "SBM_SETRANGE"},
{0x00E3, "SBM_GETRANGE"},
{0x00E4, "SBM_ENABLE_ARROWS"},
{0x00E6, "SBM_SETRANGEREDRAW"},
{0x00E9, "SBM_SETSCROLLINFO"},
{0x00EA, "SBM_GETSCROLLINFO"},
{0x0100, "WM_KEYFIRST"},
{0x0100, "WM_KEYDOWN"},
{0x0101, "WM_KEYUP"},
{0x0102, "WM_CHAR"},
{0x0103, "WM_DEADCHAR"},
{0x0104, "WM_SYSKEYDOWN"},
{0x0105, "WM_SYSKEYUP"},
{0x0106, "WM_SYSCHAR"},
{0x0107, "WM_SYSDEADCHAR"},
{0x0108, "WM_KEYLAST"},
{0x010A, "WM_CONVERTREQUEST"},
{0x010B, "WM_CONVERTRESULT"},
{0x010C, "WM_INTERIM"},
{0x0110, "WM_INITDIALOG"},
{0x0111, "WM_COMMAND"},
{0x0112, "WM_SYSCOMMAND"},
{0x0113, "WM_TIMER"},
{0x0114, "WM_HSCROLL"},
{0x0115, "WM_VSCROLL"},
{0x0116, "WM_INITMENU"},
{0x0117, "WM_INITMENUPOPUP"},
{0x0118, "WM_SYSTIMER"},
{0x011F, "WM_MENUSELECT"},
{0x0120, "WM_MENUCHAR"},
{0x0121, "WM_ENTERIDLE"},
{0x0131, "WM_LBTRACKPOINT"},
{0x0132, "WM_CTLCOLORMSGBOX"},
{0x0133, "WM_CTLCOLOREDIT"},
{0x0134, "WM_CTLCOLORLISTBOX"},
{0x0135, "WM_CTLCOLORBTN"},
{0x0136, "WM_CTLCOLORDLG"},
{0x0137, "WM_CTLCOLORSCROLLBAR"},
{0x0138, "WM_CTLCOLORSTATIC"},
{0x0140, "CB_GETEDITSEL"},
{0x0141, "CB_LIMITTEXT"},
{0x0142, "CB_SETEDITSEL"},
{0x0143, "CB_ADDSTRING"},
{0x0144, "CB_DELETESTRING"},
{0x0145, "CB_DIR"},
{0x0146, "CB_GETCOUNT"},
{0x0147, "CB_GETCURSEL"},
{0x0148, "CB_GETLBTEXT"},
{0x0149, "CB_GETLBTEXTLEN"},
{0x014A, "CB_INSERTSTRING"},
{0x014B, "CB_RESETCONTENT"},
{0x014C, "CB_FINDSTRING"},
{0x014D, "CB_SELECTSTRING"},
{0x014E, "CB_SETCURSEL"},
{0x014F, "CB_SHOWDROPDOWN"},
{0x0150, "CB_GETITEMDATA"},
{0x0151, "CB_SETITEMDATA"},
{0x0152, "CB_GETDROPPEDCONTROLRECT"},
{0x0153, "CB_SETITEMHEIGHT"},
{0x0154, "CB_GETITEMHEIGHT"},
{0x0155, "CB_SETEXTENDEDUI"},
{0x0156, "CB_GETEXTENDEDUI"},
{0x0157, "CB_GETDROPPEDSTATE"},
{0x0158, "CB_FINDSTRINGEXACT"},
{0x0159, "CB_SETLOCALE"},
{0x015A, "CB_GETLOCALE"},
{0x015B, "CB_GETTOPINDEX"},
{0x015C, "CB_SETTOPINDEX"},
{0x015D, "CB_GETHORIZONTALEXTENT"},
{0x015E, "CB_SETHORIZONTALEXTENT"},
{0x015F, "CB_GETDROPPEDWIDTH"},
{0x0160, "CB_SETDROPPEDWIDTH"},
{0x0161, "CB_INITSTORAGE"},
{0x0170, "STM_SETICON"},
{0x0171, "STM_GETICON"},
{0x0172, "STM_SETIMAGE"},
{0x0173, "STM_GETIMAGE"},
{0x0180, "LB_ADDSTRING"},
{0x0181, "LB_INSERTSTRING"},
{0x0182, "LB_DELETESTRING"},
{0x0183, "LB_SELITEMRANGEEX"},
{0x0184, "LB_RESETCONTENT"},
{0x0185, "LB_SETSEL"},
{0x0186, "LB_SETCURSEL"},
{0x0187, "LB_GETSEL"},
{0x0188, "LB_GETCURSEL"},
{0x0189, "LB_GETTEXT"},
{0x018A, "LB_GETTEXTLEN"},
{0x018B, "LB_GETCOUNT"},
{0x018C, "LB_SELECTSTRING"},
{0x018D, "LB_DIR"},
{0x018E, "LB_GETTOPINDEX"},
{0x018F, "LB_FINDSTRING"},
{0x0190, "LB_GETSELCOUNT"},
{0x0191, "LB_GETSELITEMS"},
{0x0192, "LB_SETTABSTOPS"},
{0x0193, "LB_GETHORIZONTALEXTENT"},
{0x0194, "LB_SETHORIZONTALEXTENT"},
{0x0195, "LB_SETCOLUMNWIDTH"},
{0x0196, "LB_ADDFILE"},
{0x0197, "LB_SETTOPINDEX"},
{0x0198, "LB_GETITEMRECT"},
{0x0199, "LB_GETITEMDATA"},
{0x019A, "LB_SETITEMDATA"},
{0x019B, "LB_SELITEMRANGE"},
{0x019C, "LB_SETANCHORINDEX"},
{0x019D, "LB_GETANCHORINDEX"},
{0x019E, "LB_SETCARETINDEX"},
{0x019F, "LB_GETCARETINDEX"},
{0x01A0, "LB_SETITEMHEIGHT"},
{0x01A1, "LB_GETITEMHEIGHT"},
{0x01A2, "LB_FINDSTRINGEXACT"},
{0x01A5, "LB_SETLOCALE"},
{0x01A6, "LB_GETLOCALE"},
{0x01A7, "LB_SETCOUNT"},
{0x01A8, "LB_INITSTORAGE"},
{0x01A9, "LB_ITEMFROMPOINT"},
{0x01E0, "MN_SETHMENU"},
{0x01E1, "MN_GETHMENU"},
{0x01E2, "MN_SIZEWINDOW"},
{0x01E3, "MN_OPENHIERARCHY"},
{0x01E4, "MN_CLOSEHIERARCHY"},
{0x01E5, "MN_SELECTITEM"},
{0x01E6, "MN_CANCELMENUS"},
{0x01E7, "MN_SELECTFIRSTVALIDITEM"},
{0x0200, "WM_MOUSEFIRST"},
{0x0200, "WM_MOUSEMOVE"},
{0x0201, "WM_LBUTTONDOWN"},
{0x0202, "WM_LBUTTONUP"},
{0x0203, "WM_LBUTTONDBLCLK"},
{0x0204, "WM_RBUTTONDOWN"},
{0x0205, "WM_RBUTTONUP"},
{0x0206, "WM_RBUTTONDBLCLK"},
{0x0207, "WM_MBUTTONDOWN"},
{0x0208, "WM_MBUTTONUP"},
{0x0209, "WM_MOUSELAST"},
{0x0209, "WM_MBUTTONDBLCLK"},
{0x0210, "WM_PARENTNOTIFY"},
{0x0211, "WM_ENTERMENULOOP"},
{0x0212, "WM_EXITMENULOOP"},
{0x0213, "WM_NEXTMENU"},
{0x0214, "WM_SIZING"},
{0x0215, "WM_CAPTURECHANGED"},
{0x0216, "WM_MOVING"},
{0x0217, "WM_DEVICEBROADCAST"},
{0x0218, "WM_POWERBROADCAST"},
{0x0219, "WM_DEVICECHANGE"},
{0x0220, "WM_MDICREATE"},
{0x0221, "WM_MDIDESTROY"},
{0x0222, "WM_MDIACTIVATE"},
{0x0223, "WM_MDIRESTORE"},
{0x0224, "WM_MDINEXT"},
{0x0225, "WM_MDIMAXIMIZE"},
{0x0226, "WM_MDITILE"},
{0x0227, "WM_MDICASCADE"},
{0x0228, "WM_MDIICONARRANGE"},
{0x0229, "WM_MDIGETACTIVE"},
{0x022A, "WM_DROPOBJECT"},
{0x022B, "WM_QUERYDROPOBJECT"},
{0x022C, "WM_BEGINDRAG"},
{0x022D, "WM_DRAGLOOP"},
{0x022E, "WM_DRAGSELECT"},
{0x022F, "WM_DRAGMOVE"},
{0x0230, "WM_MDISETMENU"},
{0x0231, "WM_ENTERSIZEMOVE"},
{0x0232, "WM_EXITSIZEMOVE"},
{0x0233, "WM_DROPFILES"},
{0x0234, "WM_MDIREFRESHMENU"},
{0x0281, "WM_IME_SETCONTEXT"},
{0x0282, "WM_IME_NOTIFY"},
{0x0283, "WM_IME_CONTROL"},
{0x0284, "WM_IME_COMPOSITIONFULL"},
{0x0285, "WM_IME_SELECT"},
{0x0286, "WM_IME_CHAR"},
{0x0290, "WM_IME_KEYDOWN"},
{0x0291, "WM_IME_KEYUP"},
{0x0300, "WM_CUT"},
{0x0301, "WM_COPY"},
{0x0302, "WM_PASTE"},
{0x0303, "WM_CLEAR"},
{0x0304, "WM_UNDO"},
{0x0305, "WM_RENDERFORMAT"},
{0x0306, "WM_RENDERALLFORMATS"},
{0x0307, "WM_DESTROYCLIPBOARD"},
{0x0308, "WM_DRAWCLIPBOARD"},
{0x0309, "WM_PAINTCLIPBOARD"},
{0x030A, "WM_VSCROLLCLIPBOARD"},
{0x030B, "WM_SIZECLIPBOARD"},
{0x030C, "WM_ASKCBFORMATNAME"},
{0x030D, "WM_CHANGECBCHAIN"},
{0x030E, "WM_HSCROLLCLIPBOARD"},
{0x030F, "WM_QUERYNEWPALETTE"},
{0x0310, "WM_PALETTEISCHANGING"},
{0x0311, "WM_PALETTECHANGED"},
{0x0312, "WM_HOTKEY"},
{0x0317, "WM_PRINT"},
{0x0318, "WM_PRINTCLIENT"},
{0x0360, "WM_QUERYAFXWNDPROC"},
{0x0361, "WM_SIZEPARENT"},
{0x0362, "WM_SETMESSAGESTRING"},
{0x0363, "WM_IDLEUPDATECMDUI"},
{0x0364, "WM_INITIALUPDATE"},
{0x0365, "WM_COMMANDHELP"},
{0x0366, "WM_HELPHITTEST"},
{0x0367, "WM_EXITHELPMODE"},
{0x0368, "WM_RECALCPARENT"},
{0x0369, "WM_SIZECHILD"},
{0x036A, "WM_KICKIDLE"},
{0x036B, "WM_QUERYCENTERWND"},
{0x036C, "WM_DISABLEMODAL"},
{0x036D, "WM_FLOATSTATUS"},
{0x036E, "WM_ACTIVATETOPLEVEL"},
{0x036F, "WM_QUERY3DCONTROLS"},
{0x03E0, "WM_DDE_FIRST"},
{0x03E0, "WM_DDE_INITIATE"},
{0x03E1, "WM_DDE_TERMINATE"},
{0x03E2, "WM_DDE_ADVISE"},
{0x03E3, "WM_DDE_UNADVISE"},
{0x03E4, "WM_DDE_ACK"},
{0x03E5, "WM_DDE_DATA"},
{0x03E6, "WM_DDE_REQUEST"},
{0x03E7, "WM_DDE_POKE"},
{0x03E8, "WM_DDE_LAST"},
{0x03E8, "WM_DDE_EXECUTE"}
};
-----------------------------------
int Showmsg(char *answer,ulong parm) {
int i;
if(isalpha(string[0])){
for (i=0; i<sizeof(msglist)/sizeof(msglist[0]);i++ ){
if(lstrcmpi(string,msglist[i].str)==0){
wsprintf(answer, "HEX: %lX DEC: %d MSG: %s",msglist[i].num,msglist[i].num,msglist[i].str);
return 0;
}
}
wsprintf(answer,"Not found!");
}
else {
for (i=0; i<sizeof(msglist)/sizeof(msglist[0]) ;i++ ){
if(strtoul(string,NULL,16)==msglist[i].num){
wsprintf(answer, "HEX: %lX DEC: %d MSG: %s",msglist[i].num,msglist[i].num,msglist[i].str);
return 0;
}
}
wsprintf(answer,"Not found!");
}
return 1;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
上传的附件: