共用方式為


滑鼠輸入

本節說明系統如何將滑鼠輸入提供給您的應用程式,以及應用程式如何接收和處理該輸入。

在本節中

主題 描述
關於滑鼠輸入
本主題討論滑鼠輸入。
使用滑鼠輸入
本節涵蓋與滑鼠輸入相關聯的工作。
滑鼠輸入參考

功能

名字 描述
_TrackMouseEvent 當滑鼠指標離開視窗或停留在視窗上一段時間時,張貼訊息。 如果 TrackMouseEvent 存在,此函式會呼叫 TrackMouseEvent,否則會模擬它。
BlockInput 封鎖鍵盤和滑鼠輸入事件,讓應用程式無法觸達應用程式。
DragDetect 擷取滑鼠並追蹤其移動,直到使用者放開左按鈕、按下 ESC 鍵,或將滑鼠移至拖曳矩形周圍的指定點。 拖曳矩形的寬度和高度是由 GetSystemMetrics 函式所傳回的 SM_CXDRAGSM_CYDRAG 值所指定。
EnableMouseInPointer 可讓滑鼠做為指向裝置。
EnableWindow 啟用或停用指定視窗或控件的滑鼠和鍵盤輸入。 停用輸入時,視窗不會收到輸入,例如滑鼠點選和按下按鍵。 啟用輸入時,視窗會接收所有輸入。
GetCapture 擷取已擷取滑鼠的視窗句柄(如果有的話)。 一次只能擷取一個視窗;此視窗會接收滑鼠輸入,不論游標是否在其框線內。
GetDoubleClickTime 擷取滑鼠目前的按兩下時間。 按兩下是滑鼠按鈕的兩次點擊數列,第二次是在第一次之後的指定時間內發生。 按兩下時間是雙擊之間可能發生的毫秒數上限。
GetMouseMovePointsEx 擷取最多 64 個先前滑鼠或手寫筆座標的歷程記錄。
IsWindowEnabled 判斷指定的視窗是否啟用滑鼠和鍵盤輸入。
ReleaseCapture 從目前線程中的窗口釋放滑鼠擷取,並還原正常的滑鼠輸入處理。 擷取滑鼠的視窗會接收所有滑鼠輸入,不論游標的位置為何,除非按兩下滑鼠按鈕,而游標作用點位於另一個線程的視窗。
SendInput 合成按鍵、滑鼠動作和按鈕點選。
SetCapture 將滑鼠擷取設定為屬於目前線程的指定視窗。 SetCapture 當滑鼠停留在擷取視窗上方,或當滑鼠停留在擷取視窗上方時按下滑鼠按鈕,而按鈕仍會關閉時擷取滑鼠輸入。 一次只能擷取一個視窗。
如果滑鼠游標位於另一個線程所建立的視窗上方,則只有在滑鼠按鈕關閉時,系統才會將滑鼠輸入導向指定的視窗。
SetDoubleClickTime 設定滑鼠的按兩下時間。 按兩下是滑鼠按鈕的兩次點擊數列,第二次是在第一次之後的指定時間內發生。 按兩下時間是雙擊之間可能發生的毫秒數上限。
SwapMouseButton 反轉或還原左右滑鼠按鈕的意義。
TrackMouseEvent 當滑鼠指標離開視窗或停留在視窗上一段時間時,張貼訊息。

下列函式已經過時。

功能 描述
mouse_event 合成滑鼠動作和按鈕點選。

通知

名字 描述
WM_APPCOMMAND 通知視窗使用者產生應用程式命令事件,例如,按兩下應用程式命令按鈕使用滑鼠或在鍵盤上輸入應用程式命令鍵。
WM_CAPTURECHANGED 傳送至遺失滑鼠擷取的視窗。
WM_LBUTTONDBLCLK 當使用者按兩下滑鼠左鍵,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_LBUTTONDOWN 當使用者按下滑鼠左鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_LBUTTONUP 當使用者放開滑鼠左鍵時,游標位於視窗工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_MBUTTONDBLCLK 當使用者按兩下滑鼠中間按鈕,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_MBUTTONDOWN 當使用者按下滑鼠中間按鈕時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_MBUTTONUP 當使用者放開滑鼠中間按鈕時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_MOUSEACTIVATE 當游標位於非使用中視窗,且使用者按下滑鼠按鈕時傳送。 只有當子視窗將它傳遞給 defWindowProc函式時,父視窗才會收到此訊息。
WM_MOUSEHOVER 當游標將游標停留在視窗的工作區上,在 之前呼叫 TrackMouseEvent之前所指定的一段時間內,張貼至視窗。
WM_MOUSEHWHEEL 當滑鼠的水準滾動滾輪傾斜或旋轉時,傳送至焦點視窗。 DefWindowProc函式會將訊息傳播至視窗的父代。 訊息不應該有內部轉送,因為 DefWindowProc 將它傳播到父鏈結,直到找到處理訊息的窗口為止。
WM_MOUSELEAVE 當游標離開之前呼叫中指定之視窗的工作區時,會張貼至視窗 TrackMouseEvent
WM_MOUSEMOVE 當游標移動時,張貼到視窗。 如果未擷取滑鼠,訊息會張貼至包含游標的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_MOUSEWHEEL 當滑鼠滾輪旋轉時,傳送至焦點視窗。 DefWindowProc 函式會將訊息傳播至視窗的父代。 訊息不應該有內部轉送,因為 DefWindowProc 將它傳播到父鏈結,直到找到處理訊息的窗口為止。
WM_NCHITTEST 傳送至視窗,以判斷視窗的哪個部分對應至特定螢幕座標。 例如,當游標移動、按下或放開滑鼠按鈕,或回應 對 WindowFromPoint等函式的呼叫時,可能會發生這種情況。 如果未擷取滑鼠,訊息就會傳送至游標下方的視窗。 否則,訊息會傳送至擷取滑鼠的視窗。
WM_NCLBUTTONDBLCLK 當使用者按兩下滑鼠左鍵,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCLBUTTONDOWN 當使用者按下滑鼠左鍵時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCLBUTTONUP 當使用者放開滑鼠左鍵時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCMBUTTONDBLCLK 當使用者按兩下滑鼠中間按鈕,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCMBUTTONDOWN 當使用者按下滑鼠中間按鈕時,游標位於視窗的非工作區內時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCMBUTTONUP 當使用者放開滑鼠中間按鈕時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCMOUSEHOVER 當游標將游標停留在視窗的非工作區上,在之前呼叫 TrackMouseEvent所指定的期間內,張貼至視窗。
WM_NCMOUSELEAVE 當游標離開前呼叫中指定之視窗的非工作區時,會張貼至視窗,TrackMouseEvent
WM_NCMOUSEMOVE 當游標在視窗的非工作區內移動時,張貼至視窗。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCRBUTTONDBLCLK 當使用者按兩下滑鼠右鍵,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCRBUTTONDOWN 當使用者按下滑鼠右鍵,而游標位於視窗的非工作區內時,就會張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCRBUTTONUP 當使用者放開滑鼠右鍵時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCXBUTTONDBLCLK 當使用者按兩下XBUTTON1或XBUTTON2游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCXBUTTONDOWN 當使用者按下XBUTTON1或XBUTTON2游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCXBUTTONUP 當使用者放開XBUTTON1或XBUTTON2時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_RBUTTONDBLCLK 當使用者按兩下滑鼠右鍵,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_RBUTTONDOWN 當使用者按下滑鼠右鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_RBUTTONUP 當使用者放開滑鼠右鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_XBUTTONDBLCLK 當使用者按兩下XBUTTON1或XBUTTON2游標位於視窗工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_XBUTTONDOWN 當使用者按下XBUTTON1或XBUTTON2游標位於視窗工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。
WM_XBUTTONUP 當使用者放開XBUTTON1或XBUTTON2時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至擷取滑鼠的視窗。

結構

名字 描述
HARDWAREINPUT 包含鍵盤或滑鼠以外的輸入設備所產生的模擬訊息相關信息。
INPUT 包含用於合成輸入事件的資訊,例如按鍵、滑鼠移動和滑鼠點擊。
LASTINPUTINFO 包含最後一個輸入的時間。
MOUSEINPUT 包含模擬滑鼠事件的相關信息。
MOUSEMOVEPOINT 包含螢幕座標中滑鼠位置的相關信息。
TRACKMOUSEEVENT TrackMouseEvent 函式用來追蹤滑鼠指標離開視窗或將滑鼠停留在視窗上一段時間的時間。