允許呼叫端註冊目標視窗,以重新導向指定型別的所有指標輸入。
語法
BOOL RegisterPointerInputTarget(
[in] HWND hwnd,
[in] POINTER_INPUT_TYPE pointerType
);
參數
[in] hwnd
要註冊為全域重新導向目標的視窗。
重新導向可能會導致前景視窗失去啟用 (焦點) 。 若要避免這種情況,請確定視窗是僅限訊息的視窗,或已設定 WS_EX_NOACTIVATE 樣式。
[in] pointerType
要重新導向至指定視窗的指標輸入類型。 這是來自 POINTER_INPUT_TYPE 列舉的任何有效且支援的值。 請注意,泛型 PT_POINTER 型別和 PT_MOUSE 型別在此參數中無效。
傳回值
如果函式成功,則傳回值為非零。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
具有UI存取許可權的應用程式可以使用此函式來註冊自己的視窗,以接收指定指標輸入類型的所有輸入。 每個桌面在任何指定時間只允許每個指標輸入類型的一個這類全域重新導向目標視窗。 成功註冊的第一個視窗會持續生效,直到視窗取消註冊或終結為止,此時角色可供下一個限定呼叫端使用。
註冊生效時,無論是從輸入設備或由應用程式插入的指定指標類型,所有輸入都會重新導向至已註冊的視窗。 不過,當擁有已註冊窗口的進程插入指定指標類型的輸入時,不會重新導向這類插入,而是會改為正常處理。
想要為多個指標輸入類型註冊與全域重新導向目標相同的視窗的應用程式,必須多次呼叫 RegisterPointerInputTarget 函式,每個感興趣的指標輸入類型一次。
如果呼叫線程沒有UI存取許可權,此函式會失敗,並將最後一個錯誤設定為 ERROR_ACCESS_DENIED。
如果指定的指標輸入類型無效,此函式會失敗,並將最後一個錯誤設定為 ERROR_INVALID_PARAMETER。
如果呼叫線程沒有擁有指定的視窗,此函式會失敗,並將最後一個錯誤設定為 ERROR_ACCESS_DENIED。
如果指定的視窗桌面已經為指定的指標輸入類型註冊全域重新導向目標,則此函式會失敗,並將最後一個錯誤設定為 ERROR_ACCESS_DENIED。
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
| 最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
| 目標平台 | Windows |
| 標頭 | winuser.h (包含 Windows.h) |
| 程式庫 | User32.lib |
| Dll | User32.dll |