1. 程式人生 > >SendMessage消息大全及說明

SendMessage消息大全及說明

record cbt delet for 計算 前臺 們的 key 失去焦點

WM_CREATE = &H0001
應用程序創建一個窗口
WM_DESTROY = &H0002
一個窗口被銷毀
WM_MOVE = &H0003
移動一個窗口
WM_SIZE = &H0005
改變一個窗口的大小
WM_ACTIVATE = &H0006
一個窗口被激活或失去激活狀態;
WM_SETFOCUS = &H0007
獲得焦點後
WM_KILLFOCUS = &H0008
失去焦點
WM_ENABLE = &H000A
改變enable狀態
WM_SETREDRAW = &H000B
設置窗口是否能重畫
WM_SETTEXT = &H000C
應用程序發送此消息來設置一個窗口的文本
WM_GETTEXT = &H000D
應用程序發送此消息來復制對應窗口的文本到緩沖區
WM_GETTEXTLENGTH = &H000E
得到與一個窗口有關的文本的長度(不包含空字符)
WM_PAINT = &H000F
要求一個窗口重畫自己
WM_CLOSE = &H0010
當一個窗口或應用程序要關閉時發送一個信號
WM_QUERYENDSESSION = &H0011
當用戶選擇結束對話框或程序自己調用ExitWindows函數
WM_QUIT = &H0012
用來結束程序運行或當程序調用postquitmessage函數
WM_QUERYOPEN = &H0013
當用戶窗口恢復以前的大小位置時,把此消息發送給某個圖標
WM_ERASEBKGND = &H0014
當窗口背景必須被擦除時(例在窗口改變大小時)
WM_SYSCOLORCHANGE = &H0015
當系統顏色改變時,發送此消息給所有頂級窗口
WM_ENDSESSION = &H0016
當系統進程發出WM_QUERYENDSESSION消息後,此消息發送給應用程序,
通知它對話是否結束
WM_SYSTEMERROR = &H0017
WM_SHOWWINDOW = &H0018
當隱藏或顯示窗口是發送此消息給這個窗口
WM_ACTIVATEAPP = &H001C
發此消息給應用程序哪個窗口是激活的,哪個是非激活的;
WM_FONTCHANGE = &H001D
當系統的字體資源庫變化時發送此消息給所有頂級窗口
WM_TIMECHANGE = &H001E
當系統的時間變化時發送此消息給所有頂級窗口
WM_CANCELMODE = &H001F
發送此消息來取消某種正在進行的摸態(操作)
WM_SETCURSOR = &H0020
如果鼠標引起光標在某個窗口中移動且鼠標輸入沒有被捕獲時,就發消息給某個窗口
WM_MOUSEACTIVATE = &H0021
當光標在某個非激活的窗口中而用戶正按著鼠標的某個鍵發送此消息給當前窗口
WM_CHILDACTIVATE = &H0022
發送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活,移動,改變大小
WM_QUEUESYNC = &H0023
此消息由基於計算機的訓練程序發送,通過WH_JOURNALPALYBACK的hook程序
分離出用戶輸入消息
WM_GETMINMAXINFO = &H0024
此消息發送給窗口當它將要改變大小或位置;
WM_PAINTICON = &H0026
發送給最小化窗口當它圖標將要被重畫
WM_ICONERASEBKGND = &H0027
此消息發送給某個最小化窗口,僅當它在畫圖標前它的背景必須被重畫
WM_NEXTDLGCTL = &H0028
發送此消息給一個對話框程序去更改焦點位置
WM_SPOOLERSTATUS = &H002A
每當打印管理列隊增加或減少一條作業時發出此消息
WM_DRAWITEM = &H002B
當button,combobox,listbox,menu的可視外觀改變時發送
此消息給這些空件的所有者
WM_MEASUREITEM = &H002C
當button, combo box, list box, list view control, or menu item 被創建時
發送此消息給控件的所有者
WM_DELETEITEM = &H002D
當the list box 或 combo box 被銷毀 或 當 某些項被刪除通過LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT 消息
WM_VKEYTOITEM = &H002E
此消息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來響應WM_KEYDOWN消息
WM_CHARTOITEM = &H002F
此消息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來響應WM_CHAR消息
WM_SETFONT = &H0030
當繪制文本時程序發送此消息得到控件要用的顏色
WM_GETFONT = &H0031
應用程序發送此消息得到當前控件繪制文本的字體
WM_SETHOTKEY = &H0032
應用程序發送此消息讓一個窗口與一個熱鍵相關連
WM_GETHOTKEY = &H0033
應用程序發送此消息來判斷熱鍵與某個窗口是否有關聯
WM_QUERYDRAGICON = &H0037
此消息發送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序能返回一個圖標或光標的句柄,當用戶拖放圖標時系統顯示這個圖標或光標
WM_COMPAREITEM = &H0039
發送此消息來判定combobox或listbox新增加的項的相對位置
WM_GETOBJECT = &H003D
WM_COMPACTING = &H0041
顯示內存已經很少了
WM_WINDOWPOSCHANGING = &H0046
發送此消息給那個窗口的大小和位置將要被改變時,來調用setwindowpos函數或其它窗口管理函數
WM_WINDOWPOSCHANGED = &H0047
發送此消息給那個窗口的大小和位置已經被改變時,來調用setwindowpos函數或其它窗口管理函數
WM_POWER = &H0048(適用於16位的windows)
當系統將要進入暫停狀態時發送此消息
WM_COPYDATA = &H004A
當一個應用程序傳遞數據給另一個應用程序時發送此消息
WM_CANCELJOURNAL = &H004B
當某個用戶取消程序日誌激活狀態,提交此消息給程序
WM_NOTIFY = &H004E
當某個控件的某個事件已經發生或這個控件需要得到一些信息時,發送此消息給它的父窗口
WM_INPUTLANGCHANGEREQUEST = &H0050
當用戶選擇某種輸入語言,或輸入語言的熱鍵改變
WM_INPUTLANGCHANGE = &H0051
當平臺現場已經被改變後發送此消息給受影響的最頂級窗口
WM_TCARD = &H0052
當程序已經初始化windows幫助例程時發送此消息給應用程序
WM_HELP = &H0053
此消息顯示用戶按下了F1,如果某個菜單是激活的,就發送此消息個此窗口關聯的菜單,否則就
發送給有焦點的窗口,如果當前都沒有焦點,就把此消息發送給當前激活的窗口
WM_USERCHANGED = &H0054
當用戶已經登入或退出後發送此消息給所有的窗口,當用戶登入或退出時系統更新用戶的具體
設置信息,在用戶更新設置時系統馬上發送此消息;
WM_NOTIFYFORMAT = &H0055
公用控件,自定義控件和他們的父窗口通過此消息來判斷控件是使用ANSI還是UNICODE結構
在WM_NOTIFY消息,使用此控件能使某個控件與它的父控件之間進行相互通信
WM_CONTEXTMENU = &H007B
當用戶某個窗口中點擊了一下右鍵就發送此消息給這個窗口
WM_STYLECHANGING = &H007C
當調用SETWINDOWLONG函數將要改變一個或多個 窗口的風格時發送此消息給那個窗口
WM_STYLECHANGED = &H007D
當調用SETWINDOWLONG函數一個或多個 窗口的風格後發送此消息給那個窗口
WM_DISPLAYCHANGE = &H007E
當顯示器的分辨率改變後發送此消息給所有的窗口
WM_GETICON = &H007F
此消息發送給某個窗口來返回與某個窗口有關連的大圖標或小圖標的句柄;
WM_SETICON = &H0080
程序發送此消息讓一個新的大圖標或小圖標與某個窗口關聯;
WM_NCCREATE = &H0081
當某個窗口第一次被創建時,此消息在WM_CREATE消息發送前發送;
WM_NCDESTROY = &H0082
此消息通知某個窗口,非客戶區正在銷毀
WM_NCCALCSIZE = &H0083
當某個窗口的客戶區域必須被核算時發送此消息
WM_NCHITTEST = &H0084‘移動鼠標,按住或釋放鼠標時發生
WM_NCPAINT = &H0085
程序發送此消息給某個窗口當它(窗口)的框架必須被繪制時;
WM_NCACTIVATE = &H0086
此消息發送給某個窗口 僅當它的非客戶區需要被改變來顯示是激活還是非激活狀態;
WM_GETDLGCODE = &H0087
發送此消息給某個與對話框程序關聯的控件,widdows控制方位鍵和TAB鍵使輸入進入此控件
通過響應WM_GETDLGCODE消息,應用程序可以把他當成一個特殊的輸入控件並能處理它
WM_NCMOUSEMOVE = &H00A0
當光標在一個窗口的非客戶區內移動時發送此消息給這個窗口 ‘非客戶區為:窗體的標題欄及窗
的邊框體
WM_NCLBUTTONDOWN = &H00A1
當光標在一個窗口的非客戶區同時按下鼠標左鍵時提交此消息
WM_NCLBUTTONUP = &H00A2
當用戶釋放鼠標左鍵同時光標某個窗口在非客戶區十發送此消息;
WM_NCLBUTTONDBLCLK = &H00A3
當用戶雙擊鼠標左鍵同時光標某個窗口在非客戶區十發送此消息
WM_NCRBUTTONDOWN = &H00A4
當用戶按下鼠標右鍵同時光標又在窗口的非客戶區時發送此消息
WM_NCRBUTTONUP = &H00A5
當用戶釋放鼠標右鍵同時光標又在窗口的非客戶區時發送此消息
WM_NCRBUTTONDBLCLK = &H00A6
當用戶雙擊鼠標右鍵同時光標某個窗口在非客戶區十發送此消息
WM_NCMBUTTONDOWN = &H00A7
當用戶按下鼠標中鍵同時光標又在窗口的非客戶區時發送此消息
WM_NCMBUTTONUP = &H00A8
當用戶釋放鼠標中鍵同時光標又在窗口的非客戶區時發送此消息
WM_NCMBUTTONDBLCLK = &H00A9
當用戶雙擊鼠標中鍵同時光標又在窗口的非客戶區時發送此消息
WM_KEYFIRST = &H0100
WM_KEYDOWN = &H0100
‘按下一個鍵
WM_KEYUP = &H0101
‘釋放一個鍵
WM_CHAR = &H0102
‘按下某鍵,並已發出WM_KEYDOWN, WM_KEYUP消息
WM_DEADCHAR = &H0103
當用translatemessage函數翻譯WM_KEYUP消息時發送此消息給擁有焦點的窗口
WM_SYSKEYDOWN = &H0104
當用戶按住ALT鍵同時按下其它鍵時提交此消息給擁有焦點的窗口;
WM_SYSKEYUP = &H0105
當用戶釋放一個鍵同時ALT 鍵還按著時提交此消息給擁有焦點的窗口
WM_SYSCHAR = &H0106
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯後提交此消息給擁有焦點的窗口
WM_SYSDEADCHAR = &H0107
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯後發送此消息給擁有焦點的窗口
WM_KEYLAST = &H0108
WM_INITDIALOG = &H0110
在一個對話框程序被顯示前發送此消息給它,通常用此消息初始化控件和執行其它任務
WM_COMMAND = &H0111
當用戶選擇一條菜單命令項或當某個控件發送一條消息給它的父窗口,一個快捷鍵被翻譯
WM_SYSCOMMAND = &H0112
當用戶選擇窗口菜單的一條命令或當用戶選擇最大化或最小化時那個窗口會收到此消息
WM_TIMER = &H0113 ‘發生了定時器事件
WM_HSCROLL = &H0114
當一個窗口標準水平滾動條產生一個滾動事件時發送此消息給那個窗口,也發送給擁有它的控件
WM_VSCROLL = &H0115
當一個窗口標準垂直滾動條產生一個滾動事件時發送此消息給那個窗口也,發送給擁有它的控件 WM_INITMENU = &H0116
當一個菜單將要被激活時發送此消息,它發生在用戶菜單條中的某項或按下某個菜單鍵,它允許程序在顯示前更改菜單
WM_INITMENUPOPUP = &H0117
當一個下拉菜單或子菜單將要被激活時發送此消息,它允許程序在它顯示前更改菜單,而不要改變全部
WM_MENUSELECT = &H011F
當用戶選擇一條菜單項時發送此消息給菜單的所有者(一般是窗口)
WM_MENUCHAR = &H0120
當菜單已被激活用戶按下了某個鍵(不同於加速鍵),發送此消息給菜單的所有者;
WM_ENTERIDLE = &H0121
當一個模態對話框或菜單進入空載狀態時發送此消息給它的所有者,一個模態對話框或菜單進入空載狀態就是在處理完一條或幾條先前的消息後沒有消息它的列隊中等待
WM_MENURBUTTONUP = &H0122
WM_MENUDRAG = &H0123
WM_MENUGETOBJECT = &H0124
WM_UNINITMENUPOPUP = &H0125
WM_MENUCOMMAND = &H0126
WM_CHANGEUISTATE = &H0127
WM_UPDATEUISTATE = &H0128
WM_QUERYUISTATE = &H0129
WM_CTLCOLORMSGBOX = &H0132
在windows繪制消息框前發送此消息給消息框的所有者窗口,通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置消息框的文本和背景顏色
WM_CTLCOLOREDIT = &H0133
當一個編輯型控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置編輯框的文本和背景顏色
WM_CTLCOLORLISTBOX = &H0134
當一個列表框控件將要被繪制前發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置列表框的文本和背景顏色
WM_CTLCOLORBTN = &H0135
當一個按鈕控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置按紐的文本和背景顏色
WM_CTLCOLORDLG = &H0136
當一個對話框控件將要被繪制前發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置對話框的文本背景顏色
WM_CTLCOLORSCROLLBAR= &H0137
當一個滾動條控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置滾動條的背景顏色
WM_CTLCOLORSTATIC = &H0138
當一個靜態控件將要被繪制時發送此消息給它的父窗口;通過響應這條消息,所有者窗口可以通過使用給定的相關顯示設備的句柄來設置靜態控件的文本和背景顏色
WM_MOUSEFIRST = &H0200
WM_MOUSEMOVE = &H0200
‘ 移動鼠標
WM_LBUTTONDOWN = &H0201
‘按下鼠標左鍵
WM_LBUTTONUP = &H0202
‘釋放鼠標左鍵
WM_LBUTTONDBLCLK = &H0203
‘雙擊鼠標左鍵
WM_RBUTTONDOWN = &H0204
‘按下鼠標右鍵
WM_RBUTTONUP = &H0205
‘釋放鼠標右鍵
WM_RBUTTONDBLCLK = &H0206
‘雙擊鼠標右鍵
WM_MBUTTONDOWN = &H0207
‘按下鼠標中鍵
WM_MBUTTONUP = &H0208
‘釋放鼠標中鍵
WM_MBUTTONDBLCLK = &H0209
‘雙擊鼠標中鍵
WM_MOUSEWHEEL = &H020A
當鼠標輪子轉動時發送此消息個當前有焦點的控件
WM_MOUSELAST = &H020A
WM_PARENTNOTIFY = &H0210
當MDI子窗口被創建或被銷毀,或用戶按了一下鼠標鍵而光標在子窗口上時發送此消息給它的父窗口
WM_ENTERMENULOOP = &H0211
發送此消息通知應用程序的主窗口that已經進入了菜單循環模式
WM_EXITMENULOOP = &H0212
發送此消息通知應用程序的主窗口that已退出了菜單循環模式
WM_NEXTMENU = &H0213
WM_SIZING = 532
當用戶正在調整窗口大小時發送此消息給窗口;通過此消息應用程序可以監視窗口大小和位置也可以修改他們
WM_CAPTURECHANGED = 533
發送此消息 給窗口當它失去捕獲的鼠標時;
WM_MOVING = 534
當用戶在移動窗口時發送此消息,通過此消息應用程序可以監視窗口大小和位置也可以修改他們;
WM_POWERBROADCAST = 536
此消息發送給應用程序來通知它有關電源管理事件;
WM_DEVICECHANGE = 537
當設備的硬件配置改變時發送此消息給應用程序或設備驅動程序
WM_IME_STARTCOMPOSITION = &H010D
WM_IME_ENDCOMPOSITION = &H010E
WM_IME_COMPOSITION = &H010F
WM_IME_KEYLAST = &H010F
WM_IME_SETCONTEXT = &H0281
WM_IME_NOTIFY = &H0282
WM_IME_CONTROL = &H0283
WM_IME_COMPOSITIONFULL = &H0284
WM_IME_SELECT = &H0285
WM_IME_CHAR = &H0286
WM_IME_REQUEST = &H0288
WM_IME_KEYDOWN = &H0290
WM_IME_KEYUP = &H0291
WM_MDICREATE = &H0220
應用程序發送此消息給多文檔的客戶窗口來創建一個MDI 子窗口
WM_MDIDESTROY = &H0221
應用程序發送此消息給多文檔的客戶窗口來關閉一個MDI 子窗口
WM_MDIACTIVATE = &H0222
應用程序發送此消息給多文檔的客戶窗口通知客戶窗口激活另一個MDI子窗口,當客戶窗口收到此消息後,它發出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
WM_MDIRESTORE = &H0223
程序 發送此消息給MDI客戶窗口讓子窗口從最大最小化恢復到原來大小
WM_MDINEXT = &H0224
程序 發送此消息給MDI客戶窗口激活下一個或前一個窗口
WM_MDIMAXIMIZE = &H0225
程序發送此消息給MDI客戶窗口來最大化一個MDI子窗口;
WM_MDITILE = &H0226
程序 發送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
WM_MDICASCADE = &H0227
程序 發送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
WM_MDIICONARRANGE = &H0228
程序 發送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
WM_MDIGETACTIVE = &H0229
程序 發送此消息給MDI客戶窗口來找到激活的子窗口的句柄
WM_MDISETMENU = &H0230
程序 發送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
WM_ENTERSIZEMOVE = &H0231
WM_EXITSIZEMOVE = &H0232
WM_DROPFILES = &H0233
WM_MDIREFRESHMENU = &H0234
WM_MOUSEHOVER = &H02A1
WM_MOUSELEAVE = &H02A3
WM_CUT = &H0300
程序發送此消息給一個編輯框或combobox來刪除當前選擇的文本
WM_COPY = &H0301
程序發送此消息給一個編輯框或combobox來復制當前選擇的文本到剪貼板
WM_PASTE = &H0302
程序發送此消息給editcontrol或combobox從剪貼板中得到數據
WM_CLEAR = &H0303
程序發送此消息給editcontrol或combobox清除當前選擇的內容;
WM_UNDO = &H0304
程序發送此消息給editcontrol或combobox撤消最後一次操作
WM_RENDERFORMAT = &H0305;

WM_RENDERALLFORMATS = &H0306
WM_DESTROYCLIPBOARD = &H0307
當調用ENPTYCLIPBOARD函數時 發送此消息給剪貼板的所有者
WM_DRAWCLIPBOARD = &H0308
當剪貼板的內容變化時發送此消息給剪貼板觀察鏈的第一個窗口;它允許用剪貼板觀察窗口來
顯示剪貼板的新內容;
WM_PAINTCLIPBOARD = &H0309
當剪貼板包含CF_OWNERDIPLAY格式的數據並且剪貼板觀察窗口的客戶區需要重畫;
WM_VSCROLLCLIPBOARD = &H030A
WM_SIZECLIPBOARD = &H030B
當剪貼板包含CF_OWNERDIPLAY格式的數據並且剪貼板觀察窗口的客戶區域的大小已經改變是此消息通過剪貼板觀察窗口發送給剪貼板的所有者;
WM_ASKCBFORMATNAME = &H030C
通過剪貼板觀察窗口發送此消息給剪貼板的所有者來請求一個CF_OWNERDISPLAY格式的剪貼板的名字
WM_CHANGECBCHAIN = &H030D
當一個窗口從剪貼板觀察鏈中移去時發送此消息給剪貼板觀察鏈的第一個窗口;
WM_HSCROLLCLIPBOARD = &H030E
此消息通過一個剪貼板觀察窗口發送給剪貼板的所有者 ;它發生在當剪貼板包含CFOWNERDISPALY格式的數據並且有個事件在剪貼板觀察窗的水平滾動條上;所有者應滾動剪貼板圖象並更新滾動條的值;
WM_QUERYNEWPALETTE = &H030F
此消息發送給將要收到焦點的窗口,此消息能使窗口在收到焦點時同時有機會實現他的邏輯調色板
WM_PALETTEISCHANGING= &H0310
當一個應用程序正要實現它的邏輯調色板時發此消息通知所有的應用程序
WM_PALETTECHANGED = &H0311
此消息在一個擁有焦點的窗口實現它的邏輯調色板後發送此消息給所有頂級並重疊的窗口,以此來改變系統調色板
WM_HOTKEY = &H0312
當用戶按下由REGISTERHOTKEY函數註冊的熱鍵時提交此消息
WM_PRINT = 791
應用程序發送此消息僅當WINDOWS或其它應用程序發出一個請求要求繪制一個應用程序的一部分;
WM_PRINTCLIENT = 792
WM_HANDHELDFIRST = 856
WM_HANDHELDLAST = 863
WM_PENWINFIRST = &H0380
WM_PENWINLAST = &H038F
WM_COALESCE_FIRST = &H0390
WM_COALESCE_LAST = &H039F
WM_DDE_FIRST = &H03E0
WM_DDE_INITIATE = WM_DDE_FIRST + 0
一個DDE客戶程序提交此消息開始一個與服務器程序的會話來響應那個指定的程序和主題名;
WM_DDE_TERMINATE = WM_DDE_FIRST + 1
一個DDE應用程序(無論是客戶還是服務器)提交此消息來終止一個會話;
WM_DDE_ADVISE = WM_DDE_FIRST + 2
一個DDE客戶程序提交此消息給一個DDE服務程序來請求服務器每當數據項改變時更新它
WM_DDE_UNADVISE = WM_DDE_FIRST + 3
一個DDE客戶程序通過此消息通知一個DDE服務程序不更新指定的項或一個特殊的剪貼板格式的項
WM_DDE_ACK = WM_DDE_FIRST + 4
此消息通知一個DDE(動態數據交換)程序已收到並正在處理WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE, WM_DDE_UNADVISE, or WM_DDE_INITIAT消息
WM_DDE_DATA = WM_DDE_FIRST + 5
一個DDE服務程序提交此消息給DDE客戶程序來傳遞個一數據項給客戶或通知客戶的一條可用數據項
WM_DDE_REQUEST = WM_DDE_FIRST + 6
一個DDE客戶程序提交此消息給一個DDE服務程序來請求一個數據項的值;
WM_DDE_POKE = WM_DDE_FIRST + 7
一個DDE客戶程序提交此消息給一個DDE服務程序,客戶使用此消息來請求服務器接收一個未經同意的數據項;服務器通過答復WM_DDE_ACK消息提示是否它接收這個數據項;
WM_DDE_EXECUTE = WM_DDE_FIRST + 8
一個DDE客戶程序提交此消息給一個DDE服務程序來發送一個字符串給服務器讓它象串行命令一樣被處理,服務器通過提交WM_DDE_ACK消息來作回應;
WM_DDE_LAST = WM_DDE_FIRST + 8
WM_APP = &H8000
WM_USER = &H0400
此消息能幫助應用程序自定義私有消息;




其中:參數idHook 指定了鉤子的類型,總共有如下13種:

   WH_CALLWNDPROC 系統將消息發送到指定窗口之前的"鉤子"
   WH_CALLWNDPROCRET 消息已經在窗口中處理的"鉤子"
   WH_CBT 基於計算機培訓的"鉤子"
   WH_DEBUG 差錯"鉤子"
   WH_FOREGROUNDIDLE 前臺空閑窗口"鉤子"
   WH_GETMESSAGE 接收消息投遞的"鉤子"
   WH_JOURNALPLAYBACK 回放以前通過WH_JOURNALRECORD"鉤子"記錄的輸入消息
   WH_JOURNALRECORD 輸入消息記錄"鉤子"
   WH_KEYBOARD 鍵盤消息"鉤子"
   WH_MOUSE 鼠標消息"鉤子"
   WH_MSGFILTER 對話框、消息框、菜單或滾動條輸入消息"鉤子"
   WH_SHELL 外殼"鉤子"
   WH_SYSMSGFILTER 系統消息"鉤子"

WH_CALLWNDPROC 發送到窗口的消息。由SendMessage觸發
WH_CALLWNDPROCRET 發送到窗口的消息。由SendMessage處理完成返回時觸發
WH_GETMESSAGE 發送到窗口的消息。GetMessage或PeekMessage觸發
WH_KEYBROAD 鍵盤鉤子,鍵盤觸發消息。WM_KEYUP或WM_KEYDOWN消息
WH_KEYBROAD_LL 地層鍵盤鉤子
WH_MOUSE 鼠標鉤子,查詢鼠標事件消息
WH_MOUSE_LL 低層鍵盤鉤子
WH_HARDWARE 非鼠標、鍵盤消息時
WH_MSGFILTER 對話框、菜單或滾動條要處理一個消息時。該鉤子是局部的。
WH_SYSMSGFILTER 同WH_MSGFILTER一樣,系統範圍的。
WH_DEBUG 調試鉤子,用來給鉤子函數除錯
WH_JOURNALRECORD 監視和記錄輸入事件
WH_JOURNALPLAYBACK 回放用WH_JOURNALRECORD記錄事件
WH_SHELL 外殼鉤子,當關於WINDOWS外殼事件發生時觸發.
WH_CBT 當基於計算機的訓練(CBT)事件發生時
WH_FOREGROUNDIDLE 前臺應用程序線程變成空閑時候,鉤子激活。

引用: https://blog.csdn.net/blessyou312/article/details/1925266

SendMessage消息大全及說明