AHK的OnMessage
OnMessage(0x404, "AHK_NOTIFYICON") AHK_NOTIFYICON(wParam, lParam) { if (lParam = 0x202) ; WM_LBUTTONUP { Suspend return 1 } else if (lParam = 0x205) ; WM_RBUTTONUP { Pause,, 1 ; Pause after this function returns. return 1 } else if (lParam = 0x203) ; WM_LBUTTONDBLCLK { Reload Sleep 1000 return 1 ; In case of load failure. } else if (lParam = 0x208) ; WM_MBUTTONUP { Menu, Tray, Show return 1 } } 9844 posts AutoHotkey Foundation Last active: Joined: 17 Oct 2006 I figured it out by first reading up on tray icons and Shell_NotifyIcon (used to create tray icons), then searching the AutoHotkey C++ source code. AHK_NOTIFYICON is a member of the UserMessages enumeration declared in hook.h. There are other message values, but they are generally only for internal use. 9844 posts AutoHotkey Foundation Last active: Joined: 17 Oct 2006 I figured it out by first reading up on tray icons and Shell_NotifyIcon (used to create tray icons), then searching the AutoHotkey C++ source code. AHK_NOTIFYICON is a member of the UserMessages enumeration declared in hook.h. There are other message values, but they are generally only for internal use. https://autohotkey.com/board/topic/26639-tray-menu-show-gui/#entry171983 9844 posts AutoHotkey Foundation Last active: Joined: 17 Oct 2006 I figured it out by first reading up on tray icons and Shell_NotifyIcon (used to create tray icons), then searching the AutoHotkey C++ source code. AHK_NOTIFYICON is a member of the UserMessages enumeration declared in hook.h. There are other message values, but they are generally only for internal use. https://www.autohotkey.com/docs/misc/SendMessageList.htm 9844 posts AutoHotkey Foundation Last active: Joined: 17 Oct 2006 I figured it out by first reading up on tray icons and Shell_NotifyIcon (used to create tray icons), then searching the AutoHotkey C++ source code. AHK_NOTIFYICON is a member of the UserMessages enumeration declared in hook.h. There are other message values, but they are generally only for internal use. Below is a list of values for the Msg parameter of PostMessage and SendMessage. To discover more about how to use a particular message (e.g.WM_VSCROLL), look it up at http://msdn.microsoft.com or with a search engine of your choice. Also, check out the Message Tutorial. 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 9844 posts AutoHotkey Foundation Last active: Joined: 17 Oct 2006 I figured it out by first reading up on tray icons and Shell_NotifyIcon (used to create tray icons), then searching the AutoHotkey C++ source code. AHK_NOTIFYICON is a member of the UserMessages enumeration declared in hook.h. There are other message values, but they are generally only for internal use.
posted on 2017-04-04 13:34 zhanglei1371 阅读(753) 评论(0) 编辑 收藏 举报