setCapture 函式 (winuser.h)

將滑鼠擷取設定為屬於目前線程的指定視窗。 當滑鼠位於擷取視窗上方時,SetCapture 會擷取滑鼠輸入,或在滑鼠停留在擷取視窗上方且按鈕仍然關閉時按下滑鼠按鈕時。 一次只能擷取滑鼠。

如果滑鼠游標位於另一個線程所建立的視窗上方,則只有在滑鼠按鈕關閉時,系統才會將滑鼠輸入導向指定的視窗。

語法

HWND SetCapture(
  [in] HWND hWnd
);

參數

[in] hWnd

類型: HWND

目前線程中用來擷取滑鼠之視窗的句柄。

傳回值

類型: HWND

傳回值是先前擷取滑鼠之視窗的句柄。 如果沒有這類視窗,則傳回值為 NULL

備註

只有前景視窗可以擷取滑鼠。 當背景視窗嘗試這樣做時,視窗只會接收當游標作用點位於視窗可見部分時所發生的滑鼠事件訊息。 此外,即使前景視窗已擷取滑鼠,使用者仍然可以按兩下另一個視窗,將它帶入前景。

當視窗不再需要所有滑鼠輸入時,建立視窗的線程應該呼叫 ReleaseCapture 函式來釋放滑鼠。

此函式無法用來擷取用於另一個進程的滑鼠輸入。

擷取滑鼠時,功能表快捷鍵和其他鍵盤快捷鍵無法運作。

範例

如需範例,請參閱 使用滑鼠繪製線條

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-mouse-l1-1-0 (於 Windows 8)

另請參閱

概念

GetCapture

滑鼠輸入

參考

ReleaseCapture

WM_CAPTURECHANGED