Share via


RegisterPointerInputTarget 함수(winuser.h)

호출자가 지정된 형식의 모든 포인터 입력이 리디렉션되는 대상 창을 등록할 수 있습니다.

구문

BOOL RegisterPointerInputTarget(
  [in] HWND               hwnd,
  [in] POINTER_INPUT_TYPE pointerType
);

매개 변수

[in] hwnd

전역 리디렉션 대상으로 등록할 창입니다.

리디렉션으로 인해 포그라운드 창이 활성화(포커스)를 잃을 수 있습니다. 이를 방지하려면 창이 메시지 전용 창이거나 WS_EX_NOACTIVATE 스타일 집합이 있는지 확인합니다.

[in] pointerType

지정된 창으로 리디렉션할 포인터 입력의 유형입니다. 이 값은 POINTER_INPUT_TYPE 열거형에서 유효하고 지원되는 값입니다. 제네릭 PT_POINTER 형식과 PT_MOUSE 형식은 이 매개 변수에서 유효하지 않습니다.

반환 값

함수가 성공하면 반환 값은 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 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