i wanted something for testing and learning similar to what Jim did in this thread
http://www.masm32.com/board/index.php?topic=38.msg53536#msg53536
i decided to reduce it a bit
and, it could be reduced even more with a map table, but not as easy to update
anyways, i am posting it, thinking it might save someone some typing :P
_wmUnk db 'unknown',0
_wmStr db 'string',0
_wmSys db 'system',0
_wm000 db 'NULL',0
_wm001 db 'CREATE',0
_wm002 db 'DESTROY',0
_wm003 db 'MOVE',0
_wm005 db 'SIZE',0
_wm006 db 'ACTIVATE',0
_wm007 db 'SETFOCUS',0
_wm008 db 'KILLFOCUS',0
_wm00A db 'ENABLE',0
_wm00B db 'SETREDRAW',0
_wm00C db 'SETTEXT',0
_wm00D db 'GETTEXT',0
_wm00E db 'GETTEXTLENGTH',0
_wm00F db 'PAINT',0
_wm010 db 'CLOSE',0
_wm011 db 'QUERYENDSESSION',0
_wm012 db 'QUIT',0
_wm013 db 'QUERYOPEN',0
_wm014 db 'ERASEBKGND',0
_wm015 db 'SYSCOLORCHANGE',0
_wm016 db 'ENDSESSION',0
_wm018 db 'SHOWWINDOW',0
_wm01A db 'SETTINGCHANGE',0
_wm01B db 'DEVMODECHANGE',0
_wm01C db 'ACTIVATEAPP',0
_wm01D db 'FONTCHANGE',0
_wm01E db 'TIMECHANGE',0
_wm01F db 'CANCELMODE',0
_wm020 db 'SETCURSOR',0
_wm021 db 'MOUSEACTIVATE',0
_wm022 db 'CHILDACTIVATE',0
_wm023 db 'QUEUESYNC',0
_wm024 db 'GETMINMAXINFO',0
_wm026 db 'PAINTICON',0
_wm027 db 'ICONERASEBKGND',0
_wm028 db 'NEXTDLGCTL',0
_wm02A db 'SPOOLERSTATUS',0
_wm02B db 'DRAWITEM',0
_wm02C db 'MEASUREITEM',0
_wm02D db 'DELETEITEM',0
_wm02E db 'VKEYTOITEM',0
_wm02F db 'CHARTOITEM',0
_wm030 db 'SETFONT',0
_wm031 db 'GETFONT',0
_wm032 db 'SETHOTKEY',0
_wm033 db 'GETHOTKEY',0
_wm037 db 'QUERYDRAGICON',0
_wm039 db 'COMPAREITEM',0
_wm03D db 'GETOBJECT',0
_wm041 db 'COMPACTING',0
_wm042 db 'OTHERWINDOWCREATED',0
_wm043 db 'OTHERWINDOWDESTROYED',0
_wm044 db 'COMMNOTIFY',0
_wm046 db 'WINDOWPOSCHANGING',0
_wm047 db 'WINDOWPOSCHANGED',0
_wm048 db 'POWER',0
_wm04A db 'COPYDATA',0
_wm04B db 'CANCELJOURNAL',0
_wm04E db 'NOTIFY',0
_wm050 db 'INPUTLANGCHANGEREQUEST',0
_wm051 db 'INPUTLANGCHANGE',0
_wm052 db 'TCARD',0
_wm053 db 'HELP',0
_wm054 db 'USERCHANGED',0
_wm055 db 'NOTIFYFORMAT',0
_wm07B db 'CONTEXTMENU',0
_wm07C db 'STYLECHANGING',0
_wm07D db 'STYLECHANGED',0
_wm07E db 'DISPLAYCHANGE',0
_wm07F db 'GETICON',0
_wm080 db 'SETICON',0
_wm081 db 'NCCREATE',0
_wm082 db 'NCDESTROY',0
_wm083 db 'NCCALCSIZE',0
_wm084 db 'NCHITTEST',0
_wm085 db 'NCPAINT',0
_wm086 db 'NCACTIVATE',0
_wm087 db 'GETDLGCODE',0
_wm088 db 'SYNCPAINT',0
_wm0A0 db 'NCMOUSEMOVE',0
_wm0A1 db 'NCLBUTTONDOWN',0
_wm0A2 db 'NCLBUTTONUP',0
_wm0A3 db 'NCLBUTTONDBLCLK',0
_wm0A4 db 'NCRBUTTONDOWN',0
_wm0A5 db 'NCRBUTTONUP',0
_wm0A6 db 'NCRBUTTONDBLCLK',0
_wm0A7 db 'NCMBUTTONDOWN',0
_wm0A8 db 'NCMBUTTONUP',0
_wm0A9 db 'NCMBUTTONDBLCLK',0
_wm0AB db 'NCXBUTTONDOWN',0
_wm0AC db 'NCXBUTTONUP',0
_wm0AD db 'NCXBUTTONDBLCLK',0
_wm0FE db 'INPUT_DEVICE_CHANGE',0
_wm0FF db 'INPUT',0
_wm100 db 'KEYDOWN',0
_wm101 db 'KEYUP',0
_wm102 db 'CHAR',0
_wm103 db 'DEADCHAR',0
_wm104 db 'SYSKEYDOWN',0
_wm105 db 'SYSKEYUP',0
_wm106 db 'SYSCHAR',0
_wm107 db 'SYSDEADCHAR',0
_wm108 db 'KEYLAST',0
_wm109 db 'UNICHAR',0
_wm10D db 'IME_STARTCOMPOSITION',0
_wm10E db 'IME_ENDCOMPOSITION',0
_wm10F db 'IME_COMPOSITION',0
_wm110 db 'INITDIALOG',0
_wm111 db 'COMMAND',0
_wm112 db 'SYSCOMMAND',0
_wm113 db 'TIMER',0
_wm114 db 'HSCROLL',0
_wm115 db 'VSCROLL',0
_wm116 db 'INITMENU',0
_wm117 db 'INITMENUPOPUP',0
_wm11F db 'MENUSELECT',0
_wm120 db 'MENUCHAR',0
_wm121 db 'ENTERIDLE',0
_wm122 db 'MENURBUTTONUP',0
_wm123 db 'MENUDRAG',0
_wm124 db 'MENUGETOBJECT',0
_wm125 db 'UNINITMENUPOPUP',0
_wm126 db 'MENUCOMMAND',0
_wm127 db 'CHANGEUISTATE',0
_wm128 db 'UPDATEUISTATE',0
_wm129 db 'QUERYUISTATE',0
_wm132 db 'CTLCOLORMSGBOX',0
_wm133 db 'CTLCOLOREDIT',0
_wm134 db 'CTLCOLORLISTBOX',0
_wm135 db 'CTLCOLORBTN',0
_wm136 db 'CTLCOLORDLG',0
_wm137 db 'CTLCOLORSCROLLBAR',0
_wm138 db 'CTLCOLORSTATIC',0
_wm200 db 'MOUSEMOVE',0
_wm201 db 'LBUTTONDOWN',0
_wm202 db 'LBUTTONUP',0
_wm203 db 'LBUTTONDBLCLK',0
_wm204 db 'RBUTTONDOWN',0
_wm205 db 'RBUTTONUP',0
_wm206 db 'RBUTTONDBLCLK',0
_wm207 db 'MBUTTONDOWN',0
_wm208 db 'MBUTTONUP',0
_wm209 db 'MBUTTONDBLCLK',0
_wm20A db 'MOUSEWHEEL',0
_wm20B db 'XBUTTONDOWN',0
_wm20C db 'XBUTTONUP',0
_wm20D db 'XBUTTONDBLCLK',0
_wm20E db 'MOUSEHWHEEL',0
_wm210 db 'PARENTNOTIFY',0
_wm211 db 'ENTERMENULOOP',0
_wm212 db 'EXITMENULOOP',0
_wm213 db 'NEXTMENU',0
_wm214 db 'SIZING',0
_wm215 db 'CAPTURECHANGED',0
_wm216 db 'MOVING',0
_wm218 db 'POWERBROADCAST',0
_wm219 db 'DEVICECHANGE',0
_wm220 db 'MDICREATE',0
_wm221 db 'MDIDESTROY',0
_wm222 db 'MDIACTIVATE',0
_wm223 db 'MDIRESTORE',0
_wm224 db 'MDINEXT',0
_wm225 db 'MDIMAXIMIZE',0
_wm226 db 'MDITILE',0
_wm227 db 'MDICASCADE',0
_wm228 db 'MDIICONARRANGE',0
_wm229 db 'MDIGETACTIVE',0
_wm230 db 'MDISETMENU',0
_wm231 db 'ENTERSIZEMOVE',0
_wm232 db 'EXITSIZEMOVE',0
_wm233 db 'DROPFILES',0
_wm234 db 'MDIREFRESHMENU',0
_wm281 db 'IME_SETCONTEXT',0
_wm282 db 'IME_NOTIFY',0
_wm283 db 'IME_CONTROL',0
_wm284 db 'IME_COMPOSITIONFULL',0
_wm285 db 'IME_SELECT',0
_wm286 db 'IME_CHAR',0
_wm288 db 'IME_REQUEST',0
_wm290 db 'IME_KEYDOWN',0
_wm291 db 'IME_KEYUP',0
_wm2A0 db 'NCMOUSEHOVER',0
_wm2A1 db 'MOUSEHOVER',0
_wm2A2 db 'NCMOUSELEAVE',0
_wm2A3 db 'MOUSELEAVE',0
_wm2B1 db 'WTSSESSION_CHANGE',0
_wm2C0 db 'TABLET_FIRST',0
_wm2DF db 'TABLET_LAST',0
_wm300 db 'CUT',0
_wm301 db 'COPY',0
_wm302 db 'PASTE',0
_wm303 db 'CLEAR',0
_wm304 db 'UNDO',0
_wm305 db 'RENDERFORMAT',0
_wm306 db 'RENDERALLFORMATS',0
_wm307 db 'DESTROYCLIPBOARD',0
_wm308 db 'DRAWCLIPBOARD',0
_wm309 db 'PAINTCLIPBOARD',0
_wm30A db 'VSCROLLCLIPBOARD',0
_wm30B db 'SIZECLIPBOARD',0
_wm30C db 'ASKCBFORMATNAME',0
_wm30D db 'CHANGECBCHAIN',0
_wm30E db 'HSCROLLCLIPBOARD',0
_wm30F db 'QUERYNEWPALETTE',0
_wm310 db 'PALETTEISCHANGING',0
_wm311 db 'PALETTECHANGED',0
_wm312 db 'HOTKEY',0
_wm317 db 'PRINT',0
_wm318 db 'PRINTCLIENT',0
_wm319 db 'APPCOMMAND',0
_wm31A db 'THEMECHANGED',0
_wm31D db 'CLIPBOARDUPDATE',0
_wm31E db 'DWMCOMPOSITIONCHANGED',0
_wm31F db 'DWMNCRENDERINGCHANGED',0
_wm320 db 'DWMCOLORIZATIONCOLORCHANGED',0 ;longest: 30 chars with 'WM_'
_wm321 db 'DWMWINDOWMAXIMIZEDCHANGE',0
_wm33F db 'GETTITLEBARINFOEX',0
_wm358 db 'HANDHELDFIRST',0
_wm35F db 'HANDHELDLAST',0
_wm360 db 'AFXFIRST',0
_wm37F db 'AFXLAST',0
_wm380 db 'PENWINFIRST',0
_wm38F db 'PENWINLAST',0
_wm3E0 db 'DDE_INITIATE',0
_wm3E1 db 'DDE_TERMINATE',0
_wm3E2 db 'DDE_ADVISE',0
_wm3E3 db 'DDE_UNADVISE',0
_wm3E4 db 'DDE_ACK',0
_wm3E5 db 'DDE_DATA',0
_wm3E6 db 'DDE_REQUEST',0
_wm3E7 db 'DDE_POKE',0
_wm3E8 db 'DDE_EXECUTE',0
_wmList dd _wm000,_wm001,_wm002,_wm003,_wmUnk,_wm005,_wm006,_wm007
dd _wm008,_wmUnk,_wm00A,_wm00B,_wm00C,_wm00D,_wm00E,_wm00F
dd _wm010,_wm011,_wm012,_wm013,_wm014,_wm015,_wm016,_wmUnk
dd _wm018,_wmUnk,_wm01A,_wm01B,_wm01C,_wm01D,_wm01E,_wm01F
dd _wm020,_wm021,_wm022,_wm023,_wm024,_wmUnk,_wm026,_wm027
dd _wm028,_wmUnk,_wm02A,_wm02B,_wm02C,_wm02D,_wm02E,_wm02F
dd _wm030,_wm031,_wm032,_wm033,_wmUnk,_wmUnk,_wmUnk,_wm037
dd _wmUnk,_wm039,_wmUnk,_wmUnk,_wmUnk,_wm03D,_wmUnk,_wmUnk
dd _wmUnk,_wm041,_wm042,_wm043,_wm044,_wmUnk,_wm046,_wm047
dd _wm048,_wmUnk,_wm04A,_wm04B,_wmUnk,_wmUnk,_wm04E,_wmUnk
dd _wm050,_wm051,_wm052,_wm053,_wm054,_wm055,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wm07B,_wm07C,_wm07D,_wm07E,_wm07F
dd _wm080,_wm081,_wm082,_wm083,_wm084,_wm085,_wm086,_wm087
dd _wm088,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm0A0,_wm0A1,_wm0A2,_wm0A3,_wm0A4,_wm0A5,_wm0A6,_wm0A7
dd _wm0A8,_wm0A9,_wmUnk,_wm0AB,_wm0AC,_wm0AD,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm0FE,_wm0FF
;
dd _wm100,_wm101,_wm102,_wm103,_wm104,_wm105,_wm106,_wm107
dd _wm108,_wm109,_wmUnk,_wmUnk,_wmUnk,_wm10D,_wm10E,_wm10F
dd _wm110,_wm111,_wm112,_wm113,_wm114,_wm115,_wm116,_wm117
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm11F
dd _wm120,_wm121,_wm122,_wm123,_wm124,_wm125,_wm126,_wm127
dd _wm128,_wm129,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wm132,_wm133,_wm134,_wm135,_wm136,_wm137
dd _wm138,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
;
dd _wm200,_wm201,_wm202,_wm203,_wm204,_wm205,_wm206,_wm207
dd _wm208,_wm209,_wm20A,_wm20B,_wm20C,_wm20D,_wm20E,_wmUnk
dd _wm210,_wm211,_wm212,_wm213,_wm214,_wm215,_wm216,_wmUnk
dd _wm218,_wm219,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm220,_wm221,_wm222,_wm223,_wm224,_wm225,_wm226,_wm227
dd _wm228,_wm229,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm230,_wm231,_wm232,_wm233,_wm234,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wm281,_wm282,_wm283,_wm284,_wm285,_wm286,_wmUnk
dd _wm288,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm290,_wm291,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm2A0,_wm2A1,_wm2A2,_wm2A3,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wm2B1,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm2C0,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm2DF
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
;
dd _wm300,_wm301,_wm302,_wm303,_wm304,_wm305,_wm306,_wm307
dd _wm308,_wm309,_wm30A,_wm30B,_wm30C,_wm30D,_wm30E,_wm30F
dd _wm310,_wm311,_wm312,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm317
dd _wm318,_wm319,_wm31A,_wmUnk,_wmUnk,_wm31D,_wm31E,_wm31F
dd _wm320,_wm321,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm33F
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm358,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm35F
dd _wm360,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm37F
dd _wm380,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wm38F
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk,_wmUnk
dd _wm3E0,_wm3E1,_wm3E2,_wm3E3,_wm3E4,_wm3E5,_wm3E6,_wm3E7
dd _wm3E8
;0000h - 03E8h use tables, add 'WM_' if not _wmUnk
;03E9h - 03FFh use _wmUnk
;0400h - 7FFFh 'WM_USER+nnnnh'
;8000h - BFFFh 'WM_APP+nnnnh'
;C000h - FFFFh use _wmStr '(nnnnh)'
; >FFFFh use _wmSys
;
;aliases
;
;WM_WININICHANGE EQU WM_SETTINGCHANGE ;01Ah
;WM_KEYFIRST EQU WM_KEYDOWN ;100h
;WM_CONVERTREQUESTEX EQU WM_KEYLAST ;108h
;WM_IME_KEYLAST EQU WM_IME_COMPOSITION ;10Fh
;WM_MOUSEFIRST EQU WM_MOUSEMOVE ;200h
;WM_MOUSELAST EQU WM_MBUTTONDBLCLK ;209h
;WM_DDE_FIRST EQU WM_DDE_INITIATE ;3E0h
;WM_DDE_LAST EQU WM_DDE_EXECUTE ;3E8h
;
;special WM_USER assignments
;
;WM_PSD_PAGESETUPDLG EQU WM_USER
;WM_PSD_FULLPAGERECT EQU WM_USER+1
;WM_PSD_MINMARGINRECT EQU WM_USER+2
;WM_PSD_MARGINRECT EQU WM_USER+3
;WM_PSD_GREEKTEXTRECT EQU WM_USER+4
;WM_PSD_ENVSTAMPRECT EQU WM_USER+5
;WM_PSD_YAFULLPAGERECT EQU WM_USER+6
;WM_CHOOSEFONT_GETLOGFONT EQU WM_USER+1
;WM_CHOOSEFONT_SETLOGFONT EQU WM_USER+65h
;WM_CHOOSEFONT_SETFLAGS EQU WM_USER+66h
;WM_CPL_LAUNCH EQU WM_USER+3E8h
;WM_CPL_LAUNCHED EQU WM_USER+3E9h
;WM_DLGBORDER EQU WM_USER+0DEFh
;WM_DLGSUBCLASS EQU WM_USER+0DF0h
There are 233 messages in Windows.inc...
Quoteinclude \masm32\MasmBasic\MasmBasic.inc ; Download (http://www.masm32.com/board/index.php?topic=12460)
Init
Recall[/color] "\Masm32\include\Windows.inc", L$()
xchg eax, ebx
Dim WM$(ebx)
lea ecx, [4*ebx]
Let edi=New$(ecx)
push edi
xor ecx, ecx
dec ebx
.Repeat
.if Instr_(L$(ebx), "WM_")
Let esi=Trim$(eax)
.if Instr_(esi, "equ", 4+1) ; 4=whole word, 1=case-insensitive
push eax ; keep pointer for Val
Let esi=Left$(esi, edx-1)
Let WM$(ecx)=Trim$(esi)
pop eax
add eax, 3
void Val(eax)
.if edx==-127
PrintLine "NaN", Tb$, esi
.else
stosd
inc ecx
.endif
.endif
.endif
dec ebx
.Until Sign?
pop esi
sub edi, esi
Open "O", #1, "Wm_Keys.dat" ; ready for repe scasd
Print #1:edi, esi
Close
Store "WM_Names.txt", WM$(), ecx
Inkey Str$("\n%i WM_Messages found", edi/4)
Exit
end start
:8)
i have 214 in my list, Jochen
tell me how to find the 17 missing ones :bg
WM_USER and WM_APP do not count
also, if it appears on the RIGHT side of an equate, it doesn't count :P
i do not understand the output of your program :red
NaN WM_DLGSUBCLASS
NaN WM_DLGBORDER
NaN WM_CPL_LAUNCHED
NaN WM_CPL_LAUNCH
NaN WM_USER + 104 ; wparam
NaN WM_USER + 103 ; wparam
NaN WM_USER + 102 ; lresult
NaN WM_USER + 101 ; lparam
NaN WM_CHOOSEFONT_SETFLAGS
NaN WM_CHOOSEFONT_SETLOGFONT
NaN WM_CHOOSEFONT_GETLOGFONT
NaN WM_PSD_YAFULLPAGERECT
NaN WM_PSD_ENVSTAMPRECT
NaN WM_PSD_GREEKTEXTRECT
NaN WM_PSD_MARGINRECT
NaN WM_PSD_MINMARGINRECT
NaN WM_PSD_FULLPAGERECT
NaN WM_PSD_PAGESETUPDLG
NaN WM_DDE_LAST
NaN WM_DDE_EXECUTE
NaN WM_DDE_POKE
NaN WM_DDE_REQUEST
NaN WM_DDE_DATA
NaN WM_DDE_ACK
NaN WM_DDE_UNADVISE
NaN WM_DDE_ADVISE
NaN WM_DDE_TERMINATE
NaN WM_DDE_INITIATE
NaN WM_SETTINGCHANGE
233 WM_Messages found
Quote from: dedndave on April 16, 2011, 07:30:00 PM
also, if it appears on the RIGHT side of an equate, it doesn't count :P
test this - but it's still 233, they are all on the left of
equQuote push edx
Let esi=Trim$(eax)
pop edx
.if Instr_(edx, esi, "equ", 4+1) ; 4=whole word, 1=case-insensitive
[/color]
The output are indeed those that were on the right side of
equ. The Val(string) function returns -127 in edx if the string does not have a valid number format.
i found a few of them
WM_DWMCOLORIZATIONCOLORCHANGED
WM_DWMCOMPOSITIONCHANGED
WM_DWMNCRENDERINGCHANGED
WM_DWMWINDOWMAXIMIZEDCHANGE
new in vista, meaning i was working from an old list :P
here is what i found
new - to be added
WM_CLIPBOARDUPDATE
WM_CONVERTREQUESTEX
WM_DWMCOLORIZATIONCOLORCHANGED
WM_DWMCOMPOSITIONCHANGED
WM_DWMNCRENDERINGCHANGED
WM_DWMWINDOWMAXIMIZEDCHANGE
WM_FLIP3D
WM_GETTITLEBARINFOEX
WM_INPUT
WM_INPUT_DEVICE_CHANGE
other
your text file has 2 occurances of WM_HELP ???? (HELP_WM_HELP)
windows.inc missing WM_SETTINGCHANGE but has the old alias of WM_WININICHANGE
WM_KEYFIRST old alias for WM_KEYDOWN
WM_IME_KEYLAST old alias for WM_IME_COMPOSITION
WM_MOUSEFIRST old alias for WM_MOUSEMOVE
WM_MOUSELAST old alias for WM_MBUTTONDBLCLK
WM_DDE_FIRST old alias for WM_DDE_INITIATE
if you look for line feed-'WM_', you should get all the ones we want
:eek
(http://www.masm32.com/board/index.php?action=dlattach;topic=16460.0;id=9071)
man, i am glad we have that covered
I have something better for you, Dave :bg
QuoteWndProc proc uses ebx hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
LOCAL rc:RECT, hM1:HWND, hM2:HWND
MsgMonitor ; writes all messages to Messages.txt
SWITCH uMsg
CASE WM_DESTROY
invoke PostQuitMessage, NULL
CASE WM_CREATE
PrintLine #7, "That was create, hooray!"[/b]
CASE ....
Output (ms since start, WM_xx):
0 WM_GETMINMAXINFO
0 WM_NCCREATE
16 WM_NCCALCSIZE
16 WM_CREATE
That was create, hooray
16 WM_WINDOWPOSCHANGING
16 WM_NCCALCSIZE
16 WM_WINDOWPOSCHANGED
...
844 WM_CLOSE
844 WM_WINDOWPOSCHANGING
844 WM_WINDOWPOSCHANGED
844 WM_NCACTIVATE
844 WM_ACTIVATE
844 WM_ACTIVATEAPP
844 WM_COMMAND
844 WM_DESTROY
844 WM_NCDESTROY
(you guessed it: new MasmBasic (http://www.masm32.com/board/index.php?topic=12460.0) needed for this gadget :bg)
yah - i have a window that allows me to watch them as they occur
of course, you can't display some messages, because displaying them causes generation of the same message
easy to get into an infinite loop
but - i can filter out most of those
it can make it difficult to identify an unknown message that you are receiving, though
i could send them to a different window and display them, there
Quote from: dedndave on April 16, 2011, 09:22:05 PM
yah - i have a window that allows me to watch them as they occur
of course, you can't display some messages, because displaying them causes generation of the same message
easy to get into an infinite loop
but - i can filter out most of those
it can make it difficult to identify an unknown message that you are receiving, though
i could send them to a different window and display them, there
That's why I send them to a file. My plain text editor, Editor2_UC.exe (http://netez.com/2xExplorer/), allows to refresh the file contents with F5. Very handy.
'nough work for tonight. I will see if MsgMonitor is useful. If yes, I might add some filtering.
and, of course, i find nothing for WM_DLGSUBCLASS on msdn at all
Quote from: dedndave on April 16, 2011, 09:27:54 PM
and, of course, i find nothing for WM_DLGSUBCLASS on msdn at all
Used only with CTL3D.DLL (http://support.microsoft.com/kb/113898)
i see that - but using the MSDN search tool should yield something
they could use the webspace consumed by WM_CPL_LAUNCHED :bg
Quote from: jj2007 on April 16, 2011, 09:27:18 PM
That's why I send them to a file.
:lol FYI I just got them streaming to Console in Realtime (In fact just a count but that's all I was after).... Might be a better solution for realtime monitoring....
nice to hear you got that going, Peter :U
i updated the original post
i will verify the info tomorrow - try to make sure i got them all
added WM_MOUSEHWHEEL :P
one of the ones i wanted to see, to begin with - lol
:bg
(http://www.masm32.com/board/index.php?action=dlattach;topic=16460.0;id=9076)
(the attachment is the above PNG image)
looks nice... and green :green2
lol
here is the completed include file if anyone is interested
it does not handle things like dialog messages, edit control messages, etc
oops - sorry
i forgot to add this text in the WmFmt function...
;Returns: EAX = address of string buffer (_wmBuff)
; ECX = length of string
; EDX = length of longest string - length of string
; (currently, the longest string is 30 bytes)
you can use the count in EDX to pad spaces so all fields are the same length
updated the attachment