Windows 常用訊息及含義

來源:互聯網
上載者:User

標籤:

 
訊息範圍 說明
0 ~ WM_USER – 1 系統訊息
WM_USER ~ 0x7FFF 自訂視窗類別整數訊息
WM_APP ~ 0xBFFF 應用程式自訂訊息
0xC000 ~ 0xFFFF 應用程式字串訊息
> 0xFFFF 為以後系統應用保留


訊息名稱 含義
WM_NULL 0x0000 空訊息,此訊息將被接收視窗忽略
WM_CREATE 0x0001 應用程式建立一個視窗
WM_DESTROY 0x0002 一個視窗被銷毀
WM_MOVE 0x0003 移動一個視窗
WM_SIZE 0x0005 改變一個視窗的大小
WM_ACTIVATE 0x0006 一個視窗被啟用或失去啟用狀態
WM_SETFOCUS 0x0007 獲得焦點後
WM_KILLFOCUS 0x0008 失去焦點
WM_ENABLE 0x000A 應用程式 Enable 狀態改變時產生
WM_SETREDRAW 0x000B 設定視窗是否能重畫
WM_SETTEXT 0x000C 應用程式發送此訊息來設定一個視窗的文本
WM_GETTEXT 0x000D 應用程式發送此訊息來複製對應視窗的文本到緩衝區
WM_GETTEXTLENGTH 0x000E 得到與一個視窗有關的文本的長度(不包含Null 字元)
WM_PAINT 0x000F 要求一個視窗重繪自己
WM_CLOSE 0x0010 當一個視窗或應用程式要關閉時發送一個訊號
WM_QUERYENDSESSION 0x0011 使用者選擇結束對話方塊或應用程式自己調用 ExitWindows 函數
WM_QUIT 0x0012 用來結束程式運行或應用程式調用 Postquitmessage 函數來產生此訊息
WM_QUERYOPEN 0x0013 當使用者視窗恢複以前的大小位置時,把此訊息發送給某個表徵圖
WM_ERASEBKGND 0x0014 當視窗背景必須被擦除時(例如在視窗改變大小時)
WM_SYSCOLORCHANGE 0x0015 當系統色彩改變時,發送此訊息給所有最上層視窗
WM_ENDSESSION 0x0016 當系統進程發出 WM_QUERYENDSESSION 訊息後,此訊息發送給應用程式
WM_SHOWWINDOW 0x0018 當隱藏或顯示視窗是發送此訊息給這個視窗
WM_ACTIVATEAPP 0x001C 當某個視窗將被啟用時,將被啟用視窗和當前活動(即將失去啟用)視窗會收到此訊息,發此訊息給應用程式哪個視窗是啟用的,哪個是非啟用的
WM_FONTCHANGE 0x001D 當系統的字型資源庫變化時發送此訊息給所有最上層視窗
WM_TIMECHANGE 0x001E 當系統的時間變化時發送此訊息給所有最上層視窗
WM_CANCELMODE 0x001F 發送此訊息來取消某種進行中的操作
WM_SETCURSOR 0x0020 如果滑鼠引起游標在某個視窗中移動且滑鼠輸入沒有被捕獲時,發訊息給該視窗
WM_MOUSEACTIVATE 0x0021 當游標在某個非啟用的視窗中而使用者正按著滑鼠的某個鍵發送此訊息給當前視窗
WM_CHILDACTIVATE 0x0022 發送此訊息給 MDI 子視窗當使用者點擊此視窗的標題列,或當視窗被啟用、移動、改變大小
WM_QUEUESYNC 0x0023 此訊息由基於電腦的訓練程式發送,通過 WH_JOURNALPALYBACK 的 Hook 程式分離出使用者輸入訊息
WM_GETMINMAXINFO 0x0024 當視窗要將要改變大小或位置時,發送此訊息給該視窗
WM_PAINTICON 0x0026 當視窗表徵圖將要被重繪時,發送此訊息給該視窗
WM_ICONERASEBKGND 0x0027 在一個已最小化的視窗的表徵圖在重繪前,當表徵圖背景必須被重繪時,發送此訊息給該視窗
WM_NEXTDLGCTL 0x0028 發送此訊息給一個對話方塊程式以更改焦點位置
WM_SPOOLERSTATUS 0x002A 當列印管理列隊增加或減少一條作業時發出此訊息
WM_DRAWITEM 0x002B 當 Button,ComboBox,Listbox,Menu 控制項的外觀改變時,發送此訊息給這些控制項的所有者
WM_MEASUREITEM 0x002C 當 Button,ComboBox,list box,ListView,Menu 項被建立時,發送此訊息給控制項的所有者
WM_DELETEITEM 0x002D 當 ListBox 或 ComboBox 被銷毀或當某些項通過發送 LB_DELETESTRING、LB_RESETCONTENT、  CB_DELETESTRING、CB_RESETCONTENT 訊息被刪除時,發送此訊息給控制項的所有者
WM_VKEYTOITEM 0x002E 一個具有 LBS_WANTKEYBOARDINPUT 風格的 ListBox 控制項發送此訊息給它的所有者,以此來響應 WM_KEYDOWN 訊息
WM_CHARTOITEM 0x002F 一個具有 LBS_WANTKEYBOARDINPUT 風格的 ListBox 控制項發送此訊息給它的所有者,以此來響應 WM_CHAR 訊息
WM_SETFONT 0x0030 應用程式繪製控制項時,發送此訊息得到以何種字型繪製控制項中的文本
WM_GETFONT 0x0031 應用程式發送此訊息得到當前控制項繪製文本的字型
WM_SETHOTKEY 0x0032 應用程式發送此訊息讓一個視窗與一個熱鍵相關聯
WM_GETHOTKEY 0x0033 應用程式發送此訊息來判斷熱鍵與某個視窗是否有關聯
WM_QUERYDRAGICON 0x0037 此訊息發送給已最小化的視窗,當此視窗將要被拖放而它的類中沒有定義表徵圖,應用程式就返回一個表徵圖或游標的控制代碼,當使用者拖放表徵圖時系統顯示這個表徵圖或游標
WM_COMPAREITEM 0x0039 發送此訊息來判定 ComboBox 或 ListBox 新增加的項的相對位置
WM_COMPACTING 0x0041 顯示記憶體已經很少了
WM_WINDOWPOSCHANGING 0x0046 當調用 SetWindowPos 函數改變視窗的大小和位置後,發送此訊息給該視窗
WM_POWER 0x0048 當系統將進入掛起狀態時發送此訊息給所有進程
WM_COPYDATA 0x004A 當一個應用程式傳遞資料給另一個應用程式時發送此訊息
WM_CANCELJOURNAL 0x004B 當某個使用者取消程式日誌啟用狀態,發送此訊息給應用程式
WM_NOTIFY 0x004E 當某個控制項的某個事件已經發生或這個控制項需要得到一些資訊時,發送此訊息給它的父視窗
WM_INPUTLANGCHANGEREQUEST 0x0050 當使用者選擇某種輸入語言,或輸入語言的熱鍵改變
WM_INPUTLANGCHANGE 0x0051 當應用程式輸入語言改變後發送此訊息給受影響的最最上層視窗
WM_TCARD 0x0052 當應用程式已經初始化 Windows 協助常式時發送此訊息給應用程式
WM_HELP 0x0053 當使用者按下了 F1,如果某個菜單是啟用的,就發送此訊息給此視窗關聯的菜單,否則就發送給有焦點的視窗,如果當前都沒有焦點,就把此訊息發送給當前啟用的視窗
WM_USERCHANGED 0x0054 當使用者已經登入或退出後發送此訊息給所有的視窗,當使用者登入或退出時系統更新使用者的具體設定資訊,在使用者更新設定時系統馬上發送此訊息
WM_NOTIFYFORMAT 0x0055 公用控制項和它們的父視窗通過此訊息來判斷在 WM_NOTIFY 訊息中是使用 ANSI 還是 UNICODE 形式的結構,使用此控制項能使某個控制項與它的父控制項進行相互連信
WM_CONTEXTMENU 0x007B 當使用者在某個視窗中點擊右鍵,則發送此訊息給該視窗
WM_STYLECHANGING 0x007C 當將要調用 SetWindowLong 函數視窗的一個或多個風格時,發送此訊息給該視窗
WM_STYLECHANGED 0x007D 當調用 SetWindowLong 函數改變了視窗的一個或多個風格後,發送此訊息給該視窗
WM_DISPLAYCHANGE 0x007E 當顯示器的解析度改變後發送此訊息給所有的視窗
WM_GETICON 0x007F 發送此訊息給某個視窗,返回與某個視窗有關聯的大表徵圖或小表徵圖的控制代碼
WM_SETICON 0x0080 應用程式發送此訊息讓一個新的大表徵圖或小表徵圖與某個視窗關聯
WM_NCCREATE 0x0081 當某個視窗第一次被建立時,此訊息在 WM_CREATE 訊息被發送前發送
WM_NCDESTROY 0x0082 此訊息通知某個視窗,正在銷毀非客戶區
WM_NCCALCSIZE 0x0083 當計算某個視窗的客戶區大小和位置時發送此訊息
WM_NCHITTEST 0x0084 移動滑鼠,按住或釋放滑鼠時產生此訊息
WM_NCPAINT 0x0085 當某個視窗的架構必須被繪製時,應用程式發送此訊息給該視窗
WM_NCACTIVATE 0x0086 通過改變某個視窗的非客戶區來表示視窗是處於啟用還是非啟用狀態時,此訊息被發送給該視窗
WM_NCMOUSEMOVE 0x00A0 當游標在視窗的非客戶區(視窗標題列及邊框)內移動時發送此訊息給該視窗
WM_NCLBUTTONDOWN 0x00A1 當游標在視窗的非客戶區並按下滑鼠左鍵時發送此訊息
WM_NCLBUTTONUP 0x00A2 當游標在視窗的非客戶區並釋放滑鼠左鍵時發送此訊息
WM_NCLBUTTONDBLCLK 0x00A3 當游標在視窗的非客戶區並雙擊滑鼠左鍵時發送此訊息
WM_NCRBUTTONDOWN 0x00A4 當游標在視窗的非客戶區並按下滑鼠右鍵時發送此訊息
WM_NCRBUTTONUP 0x00A5 當游標在視窗的非客戶區並釋放滑鼠右鍵時發送此訊息
WM_NCRBUTTONDBLCLK 0x00A6 當游標在視窗的非客戶區並雙擊滑鼠右鍵時發送此訊息
WM_NCMBUTTONDOWN 0x00A7 當游標在視窗的非客戶區並按下滑鼠中鍵時發送此訊息
WM_NCMBUTTONUP 0x00A8 當游標在視窗的非客戶區並釋放滑鼠中鍵時發送此訊息
WM_NCMBUTTONDBLCL 0x00A9 當游標在視窗的非客戶區並雙擊滑鼠中鍵時發送此訊息
WM_KEYDOWN 0x0100 按下一個非系統鍵(按下鍵時未按下“ALT”鍵)
WM_KEYUP 0x0101 釋放一個非系統鍵
WM_CHAR 0x0102 按下某鍵,當 TranslateMessage 轉寄 WM_KEYDOWN 後發送本訊息
WM_DEADCHAR 0x0103 釋放某鍵,當 TranslateMessage 轉寄 WM_KEYUP 後發送本訊息
WM_SYSKEYDOWN 0x0104 當按住 ALT 鍵同步選取其他鍵時發送此訊息給擁有鍵盤焦點的視窗
WM_SYSKEYUP 0x0105 當釋放一個鍵同時按住 ALT 鍵時發送此訊息給擁有鍵盤焦點的視窗
WM_SYSCHAR 0x0106 當 TranslateMessage 函數轉寄 WM_SYSKEYDOWN 後發送此訊息給擁有鍵盤焦點的視窗
WM_SYSDEADCHAR 0x0107 當 TranslateMessage 函數轉寄 WM_SYSKEYUP 後發送此訊息給擁有鍵盤焦點的視窗
WM_INITDIALOG 0x0110 在被顯示前發送此訊息對話方塊,通常用此訊息初始化控制項和執行其他任務
WM_COMMAND 0x0111 選擇視窗功能表項目或某個控制項發送一條訊息給它的父視窗或按下一個快速鍵時產生此訊息
WM_SYSCOMMAND 0x0112 選擇視窗功能表項目或選擇最大化或最小化時,發送此訊息給該視窗
WM_TIMER 0x0113 發生了定時器事件
WM_HSCROLL 0x0114 當視窗水平捲軸產生一個滾動事件時發送此訊息給該視窗和捲軸的所有者
WM_VSCROLL 0x0115 當視窗垂直捲軸產生一個滾動事件時發送此訊息給該視窗和捲軸的所有者
WM_INITMENU 0x0116 當一個菜單將要被啟用時發送此訊息,它發生在按下功能表項目或按下菜單快速鍵時,它允許程式在顯示前更改菜單
WM_INITMENUPOPUP 0x0117 當一個下拉式功能表或子功能表將要被啟用時發送此訊息,它允許顯示前在修改菜單而不必更改整個菜單
WM_MENUSELECT 0x011F 選擇一條功能表項目時發送此訊息給菜單的所有者(一般是視窗)
WM_MENUCHAR 0x0120 當菜單已被啟用且使用者按下了某個鍵(非快速鍵),發送此訊息給菜單的所有者
WM_ENTERIDLE 0x0121 當一個有強制回應對話方塊或菜單進入空閑狀態時發送此訊息給它的所有者,空閑狀態指在處理完一條或幾條先前的訊息後,訊息列隊為空白
WM_MENURBUTTONUP 0x0122 當游標位於功能表項目上時,釋放滑鼠右鍵產生此訊息
WM_MENUDRAG 0x0123 當拖動功能表項目時,發送此訊息給拖放菜單的所有者
WM_MENUGETOBJECT 0x0124 當游標移入功能表項目或者從功能表項目中心移到功能表項目頂部或底部時,發送此訊息給拖放菜單的所有者
WM_UNINITMENUPOPUP 0x0125 當下拉式功能表或者子功能表被銷毀時產生此訊息
WM_MENUCOMMAND 0x0126 當使用者選擇功能表項目時產生此訊息
WM_CHANGEUISTATE 0x0127 應用程式發送此訊息表明使用者介面(UI)狀態應當被改變
WM_UPDATEUISTATE 0x0128 應用程式發送此訊息改變指定視窗及其子視窗的使用者介面(UI)狀態
WM_QUERYUISTATE 0x0129 應用程式發送此訊息得到某個視窗的使用者介面(UI)狀態
WM_CTLCOLORMSGBOX 0x0132 繪製訊息框前發送此訊息給它的父視窗,通過響應這條訊息,父視窗可以通過使用給定的相關顯示裝置的控制代碼來設定訊息框的文本和背景顏色
WM_CTLCOLOREDIT 0x0133 繪製編輯型控制項前發送此訊息給它的父視窗,可用來設定編輯框的文本和背景顏色
WM_CTLCOLORLISTBOX 0x0134 繪製列表框控制項前發送此訊息給它的父視窗,可用來設定編輯框的文本和背景顏色
WM_CTLCOLORBTN 0x0135 繪製按鈕控制項前發送此訊息給它的父視窗,可用來設定編輯框的文本和背景顏色
WM_CTLCOLORDLG 0x0136 繪製對話方塊前發送此訊息給它的父視窗,可用來設定編輯框的文本和背景顏色
WM_CTLCOLORSCROLLBAR 0x0137 繪製捲軸控制項前發送此訊息給它的父視窗,可用來設定捲軸控制項的文本和背景顏色
WM_CTLCOLORSTATIC 0x0138 繪製靜態控制項前發送此訊息給它的父視窗,可用來設定靜態控制項的文本和背景顏色
WM_MOUSEMOVE 0x0200 滑鼠移動
WM_LBUTTONDOWN 0x0201 按下滑鼠左鍵
WM_LBUTTONUP 0x0202 釋放滑鼠左鍵
WM_LBUTTONDBLCLK 0x0203 雙擊滑鼠左鍵
WM_RBUTTONDOWN 0x0204 按下滑鼠右鍵
WM_RBUTTONUP 0x0205 釋放滑鼠右鍵
WM_RBUTTONDBLCLK 0x0206 雙擊滑鼠右鍵
WM_MBUTTONDOWN 0x0207 按下滑鼠中鍵
WM_MBUTTONUP 0x0208 釋放滑鼠中鍵
WM_MBUTTONDBLCLK 0x0209 雙擊滑鼠中鍵
WM_MOUSEWHEEL 0x020A 當滑鼠滾輪轉動時發送此訊息給當前獲得焦點的視窗
WM_PARENTNOTIFY 0x0210 當MDI子視窗被建立或被銷毀,或當游標位於子視窗上且使用者按了一下滑鼠鍵時,發送此訊息給它的父視窗
WM_ENTERMENULOOP 0x0211 發送此訊息通知應用程式的主視窗進程已經進入了菜單模式迴圈
WM_EXITMENULOOP 0x0212 發送此訊息通知應用程式的主視窗進程已經退出了菜單模式迴圈
WM_SIZING 0x0214 調整視窗大小時發送此訊息給視窗,通過此訊息應用程式可以監視或修改視窗大小和位置
WM_CAPTURECHANGED 0x0215 當視窗設定為不捕獲滑鼠事件時,發送此訊息給該視窗
WM_MOVING 0x0216 移動視窗時發送此訊息給視窗,通過此訊息應用程式可以監視或修改視窗大小和位置
WM_POWERBROADCAST 0x0218 發送此訊息給代理程式更新它有關電源管理事件
WM_DEVICECHANGE 0x0219 當裝置的硬體設定改變時發送此訊息給應用程式或裝置驅動程式
WM_MDICREATE 0x0220 應用程式發送此訊息給多文檔的客戶視窗來建立一個MDI 子視窗
WM_MDIDESTROY 0x0221 應用程式發送此訊息給多文檔的客戶視窗來關閉一個MDI 子視窗
WM_MDIACTIVATE 0x0222 應用程式發送此訊息給多文檔的客戶視窗通知客戶視窗啟用另一個MDI子視窗,當客戶視窗收到此訊息後,它發出WM_MDIACTIVE訊息給MDI子視窗(未啟用)來啟用它
WM_MDIRESTORE 0x0223 應用程式發送此訊息給 MDI 客戶視窗通知子視窗恢複到原來大小
WM_MDINEXT 0x0224 應用程式發送此訊息給 MDI 客戶視窗啟用下一個或前一個視窗
WM_MDIMAXIMIZE 0x0225 應用程式發送此訊息給 MDI 客戶視窗以最大化一個 MDI 子視窗
WM_MDITILE 0x0226 應用程式發送此訊息給 MDI 客戶視窗以平鋪方式重新排列所有 MDI 子視窗
WM_MDICASCADE 0x0227 應用程式發送此訊息給 MDI 客戶視窗以層疊方式重新排列所有 MDI 子視窗
WM_MDIICONARRANGE 0x0228 應用程式發送此訊息給 MDI 客戶視窗重新排列所有最小化的 MDI 子視窗
WM_MDIGETACTIVE 0x0229 應用程式發送此訊息給 MDI 客戶視窗以找到啟用的子視窗的控制代碼
WM_MDISETMENU 0x0230 應用程式發送此訊息給 MDI 客戶視窗用 MDI 菜單代替子視窗的菜單
WM_ENTERSIZEMOVE 0x0231 當視窗進入移動或改變大小模式迴圈時,發送此訊息給該視窗
WM_EXITSIZEMOVE 0x0232 當視窗退出移動或改變大小模式迴圈時,發送此訊息給該視窗
WM_DROPFILES 0x0233 當使用者在應用程式視窗中拖動某個檔案時,產生此訊息
WM_MDIREFRESHMENU 0x0234 應用程式發送此訊息給 MDI 客戶視窗以重新整理視窗菜單
WM_MOUSEHOVER 0x02A1 當游標在視窗客戶區懸停超過 TrackMouseEvent 函數指定的時間時,發送此訊息給該視窗
WM_MOUSELEAVE 0x02A3 當游標離開視窗客戶區超過 TrackMouseEvent 函數指定的時間時,發送此訊息給該視窗
WM_CUT 0x0300 應用程式發送此訊息給一個編輯框或 ComboBox 以刪除當前選擇的文本
WM_COPY 0x0301 應用程式發送此訊息給一個編輯框或 ComboBox 以複製當前選擇的文本到剪貼簿
WM_PASTE 0x0302 應用程式發送此訊息給一個編輯框或 ComboBox 以從剪貼簿中得到資料
WM_CLEAR 0x0303 應用程式發送此訊息給一個編輯框或 ComboBox 以清除當前選擇的內容
WM_UNDO 0x0304 應用程式發送此訊息給一個編輯框或 ComboBox 以撤消最後一次操作
WM_DESTROYCLIPBOARD 0x0307 當調用 EmptyClipboard 函數清空剪貼簿時,發送此訊息給剪貼簿所有者
WM_DRAWCLIPBOARD 0x0308 當剪貼簿的內容變化時發送此訊息給剪貼簿觀察鏈中的第一個視窗,它允許用剪貼簿觀察視窗來顯示剪貼簿的新內容
WM_PAINTCLIPBOARD 0x0309 當剪貼簿包含 CF_OWNERDIPLAY 格式的資料且剪貼簿觀察視窗的客戶區需要重繪時,發送此訊息給剪貼簿所有者
WM_VSCROLLCLIPBOARD 0x030A 當剪貼簿包含 CF_OWNERDIPLAY 格式的資料且剪貼簿觀察視窗發生垂直捲軸事件時,剪貼簿觀察視窗發送此訊息給剪貼簿所有者
WM_SIZECLIPBOARD 0x030B 當剪貼簿包含 CF_OWNERDIPLAY 格式的資料且剪貼簿觀察視窗的用戶端區域的大小已經改變時,剪貼簿觀察視窗發送此訊息給剪貼簿的所有者
WM_ASKCBFORMATNAME 0x030C 剪貼簿觀察視窗發送此訊息給剪貼簿所有者以獲得 CF_OWNERDISPLAY 剪貼簿格式的名字
WM_CHANGECBCHAIN 0x030D 當一個視窗從剪貼簿觀察鏈中移去時發送此訊息給剪貼簿觀察鏈中的第一個視窗
WM_HSCROLLCLIPBOARD 0x030E 當剪貼簿包含 CF_OWNERDIPLAY 格式的資料且剪貼簿觀察視窗發生水平捲軸事件時,剪貼簿觀察視窗發送此訊息給剪貼簿所有者
WM_QUERYNEWPALETTE 0x030F 發送此訊息給將要獲得鍵盤焦點的視窗,此訊息使視窗在獲得焦點時同時有機會實現它的邏輯調色盤
WM_PALETTEISCHANGING 0x0310 應用程式將要實現它的邏輯調色盤時發送此訊息通知所有應用程式
WM_PALETTECHANGED 0x0311 獲得焦點的視窗實現它的邏輯調色盤後發送此訊息給所有頂級並重疊的視窗,以此來改變系統調色盤
WM_HOTKEY 0x0312 當使用者按下由 RegisterHotKey 函數註冊的熱鍵時產生此訊息
WM_PRINT 0x0317 應用程式發送此訊息給視窗,要求視窗在指定裝置環境中繪製自己,一般情況下是印表機裝置環境
WM_PRINTCLIENT 0x0318 應用程式發送此訊息給視窗,要求視窗在指定裝置環境中繪製視窗客戶區,一般情況下是印表機裝置環境
WM_APP 0x8000 協助使用者自訂訊息,自訂訊息可以為 WM_APP+X,X 為正整數
WM_USER 0x0400 協助使用者自訂訊息,自訂訊息可以為 WM_USER+X,X 為正整數

Windows 常用訊息及含義

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.