Windows 消息用于在操作系统和应用程序之间, 以及应用程序的不同部分之间进行通信.
Windows 消息只是一个指定特定事件的数字代码. 例如, 如果用户按下鼠标左键, 窗口会收到一条消息, 消息代码如下: WM_LBUTTONDOWN(0x0201).
有些消息具有与之关联的数据. 例如, WM_LBUTTONDOWN message 消息包含鼠标光标的 X 和 Y 坐标.
消息号的范围如下:
有关详情, 请参阅关于消息和消息队列(Microsoft Docs).
在 AutoHotkey 中, 消息号可用于 PostMessage, SendMessage 和 OnMessage 的 MsgNumber 参数. 下面是一些值的列表. 要了解如何使用特定消息(例如 WM_VSCROLL) 的更多信息, 请在 Microsoft Docs 或您选择的搜索引擎中查找它. 另外, 请查看消息教程.
WM_NULL := 0x00 WM_CREATE := 0x01 WM_DESTROY := 0x02 WM_MOVE := 0x03 WM_SIZE := 0x05 WM_ACTIVATE := 0x06 WM_SETFOCUS := 0x07 WM_KILLFOCUS := 0x08 WM_ENABLE := 0x0A WM_SETREDRAW := 0x0B WM_SETTEXT := 0x0C WM_GETTEXT := 0x0D WM_GETTEXTLENGTH := 0x0E WM_PAINT := 0x0F WM_CLOSE := 0x10 WM_QUERYENDSESSION := 0x11 WM_QUIT := 0x12 WM_QUERYOPEN := 0x13 WM_ERASEBKGND := 0x14 WM_SYSCOLORCHANGE := 0x15 WM_ENDSESSION := 0x16 WM_SYSTEMERROR := 0x17 WM_SHOWWINDOW := 0x18 WM_CTLCOLOR := 0x19 WM_WININICHANGE := 0x1A WM_SETTINGCHANGE := 0x1A WM_DEVMODECHANGE := 0x1B WM_ACTIVATEAPP := 0x1C WM_FONTCHANGE := 0x1D WM_TIMECHANGE := 0x1E WM_CANCELMODE := 0x1F WM_SETCURSOR := 0x20 WM_MOUSEACTIVATE := 0x21 WM_CHILDACTIVATE := 0x22 WM_QUEUESYNC := 0x23 WM_GETMINMAXINFO := 0x24 WM_PAINTICON := 0x26 WM_ICONERASEBKGND := 0x27 WM_NEXTDLGCTL := 0x28 WM_SPOOLERSTATUS := 0x2A WM_DRAWITEM := 0x2B WM_MEASUREITEM := 0x2C WM_DELETEITEM := 0x2D WM_VKEYTOITEM := 0x2E WM_CHARTOITEM := 0x2F WM_SETFONT := 0x30 WM_GETFONT := 0x31 WM_SETHOTKEY := 0x32 WM_GETHOTKEY := 0x33 WM_QUERYDRAGICON := 0x37 WM_COMPAREITEM := 0x39 WM_COMPACTING := 0x41 WM_WINDOWPOSCHANGING := 0x46 WM_WINDOWPOSCHANGED := 0x47 WM_POWER := 0x48 WM_COPYDATA := 0x4A WM_CANCELJOURNAL := 0x4B WM_NOTIFY := 0x4E WM_INPUTLANGCHANGEREQUEST := 0x50 WM_INPUTLANGCHANGE := 0x51 WM_TCARD := 0x52 WM_HELP := 0x53 WM_USERCHANGED := 0x54 WM_NOTIFYFORMAT := 0x55 WM_CONTEXTMENU := 0x7B WM_STYLECHANGING := 0x7C WM_STYLECHANGED := 0x7D WM_DISPLAYCHANGE := 0x7E WM_GETICON := 0x7F WM_SETICON := 0x80 WM_NCCREATE := 0x81 WM_NCDESTROY := 0x82 WM_NCCALCSIZE := 0x83 WM_NCHITTEST := 0x84 WM_NCPAINT := 0x85 WM_NCACTIVATE := 0x86 WM_GETDLGCODE := 0x87 WM_NCMOUSEMOVE := 0xA0 WM_NCLBUTTONDOWN := 0xA1 WM_NCLBUTTONUP := 0xA2 WM_NCLBUTTONDBLCLK := 0xA3 WM_NCRBUTTONDOWN := 0xA4 WM_NCRBUTTONUP := 0xA5 WM_NCRBUTTONDBLCLK := 0xA6 WM_NCMBUTTONDOWN := 0xA7 WM_NCMBUTTONUP := 0xA8 WM_NCMBUTTONDBLCLK := 0xA9 WM_KEYFIRST := 0x100 WM_KEYDOWN := 0x100 WM_KEYUP := 0x101 WM_CHAR := 0x102 WM_DEADCHAR := 0x103 WM_SYSKEYDOWN := 0x104 WM_SYSKEYUP := 0x105 WM_SYSCHAR := 0x106 WM_SYSDEADCHAR := 0x107 WM_KEYLAST := 0x108 WM_IME_STARTCOMPOSITION := 0x10D WM_IME_ENDCOMPOSITION := 0x10E WM_IME_COMPOSITION := 0x10F WM_IME_KEYLAST := 0x10F WM_INITDIALOG := 0x110 WM_COMMAND := 0x111 WM_SYSCOMMAND := 0x112 WM_TIMER := 0x113 WM_HSCROLL := 0x114 WM_VSCROLL := 0x115 WM_INITMENU := 0x116 WM_INITMENUPOPUP := 0x117 WM_MENUSELECT := 0x11F WM_MENUCHAR := 0x120 WM_ENTERIDLE := 0x121 WM_CTLCOLORMSGBOX := 0x132 WM_CTLCOLOREDIT := 0x133 WM_CTLCOLORLISTBOX := 0x134 WM_CTLCOLORBTN := 0x135 WM_CTLCOLORDLG := 0x136 WM_CTLCOLORSCROLLBAR := 0x137 WM_CTLCOLORSTATIC := 0x138 WM_MOUSEFIRST := 0x200 WM_MOUSEMOVE := 0x200 WM_LBUTTONDOWN := 0x201 WM_LBUTTONUP := 0x202 WM_LBUTTONDBLCLK := 0x203 WM_RBUTTONDOWN := 0x204 WM_RBUTTONUP := 0x205 WM_RBUTTONDBLCLK := 0x206 WM_MBUTTONDOWN := 0x207 WM_MBUTTONUP := 0x208 WM_MBUTTONDBLCLK := 0x209 WM_MOUSEWHEEL := 0x20A WM_MOUSEHWHEEL := 0x20E WM_PARENTNOTIFY := 0x210 WM_ENTERMENULOOP := 0x211 WM_EXITMENULOOP := 0x212 WM_NEXTMENU := 0x213 WM_SIZING := 0x214 WM_CAPTURECHANGED := 0x215 WM_MOVING := 0x216 WM_POWERBROADCAST := 0x218 WM_DEVICECHANGE := 0x219 WM_MDICREATE := 0x220 WM_MDIDESTROY := 0x221 WM_MDIACTIVATE := 0x222 WM_MDIRESTORE := 0x223 WM_MDINEXT := 0x224 WM_MDIMAXIMIZE := 0x225 WM_MDITILE := 0x226 WM_MDICASCADE := 0x227 WM_MDIICONARRANGE := 0x228 WM_MDIGETACTIVE := 0x229 WM_MDISETMENU := 0x230 WM_ENTERSIZEMOVE := 0x231 WM_EXITSIZEMOVE := 0x232 WM_DROPFILES := 0x233 WM_MDIREFRESHMENU := 0x234 WM_IME_SETCONTEXT := 0x281 WM_IME_NOTIFY := 0x282 WM_IME_CONTROL := 0x283 WM_IME_COMPOSITIONFULL := 0x284 WM_IME_SELECT := 0x285 WM_IME_CHAR := 0x286 WM_IME_KEYDOWN := 0x290 WM_IME_KEYUP := 0x291 WM_MOUSEHOVER := 0x2A1 WM_NCMOUSELEAVE := 0x2A2 WM_MOUSELEAVE := 0x2A3 WM_CUT := 0x300 WM_COPY := 0x301 WM_PASTE := 0x302 WM_CLEAR := 0x303 WM_UNDO := 0x304 WM_RENDERFORMAT := 0x305 WM_RENDERALLFORMATS := 0x306 WM_DESTROYCLIPBOARD := 0x307 WM_DRAWCLIPBOARD := 0x308 WM_PAINTCLIPBOARD := 0x309 WM_VSCROLLCLIPBOARD := 0x30A WM_SIZECLIPBOARD := 0x30B WM_ASKCBFORMATNAME := 0x30C WM_CHANGECBCHAIN := 0x30D WM_HSCROLLCLIPBOARD := 0x30E WM_QUERYNEWPALETTE := 0x30F WM_PALETTEISCHANGING := 0x310 WM_PALETTECHANGED := 0x311 WM_HOTKEY := 0x312 WM_PRINT := 0x317 WM_PRINTCLIENT := 0x318 WM_HANDHELDFIRST := 0x358 WM_HANDHELDLAST := 0x35F WM_PENWINFIRST := 0x380 WM_PENWINLAST := 0x38F WM_COALESCE_FIRST := 0x390 WM_COALESCE_LAST := 0x39F WM_DDE_FIRST := 0x3E0 WM_DDE_INITIATE := 0x3E0 WM_DDE_TERMINATE := 0x3E1 WM_DDE_ADVISE := 0x3E2 WM_DDE_UNADVISE := 0x3E3 WM_DDE_ACK := 0x3E4 WM_DDE_DATA := 0x3E5 WM_DDE_REQUEST := 0x3E6 WM_DDE_POKE := 0x3E7 WM_DDE_EXECUTE := 0x3E8 WM_DDE_LAST := 0x3E8 WM_USER := 0x400 WM_APP := 0x8000