[일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 보증을 하지 않습니다.]
지정된 창 또는 현재 스레드를 시스템에 터치 패드 지원으로 등록합니다.
문법
WINUSERAPI
BOOL
WINAPI
RegisterTouchpadCapableWindow(
_In_ HWND hWnd,
_In_ BOOL fEnable);
WINUSERAPI
BOOL
WINAPI
RegisterTouchpadCapableThread(
_In_ BOOL fEnable);
매개 변수
RegisterTouchpadCapableWindow
- hWnd
-
터치 패드 지원으로 등록하거나 등록 취소할 창에 대한 핸들입니다.
- fEnable
-
TRUE 이면 창을 터치 패드 지원으로 등록합니다. 등록 을 취소하려면 FALSE입니다.
RegisterTouchpadCapableThread
- fEnable
-
TRUE 이면 현재 스레드를 터치 패드 지원으로 등록합니다. 등록 을 취소하려면 FALSE입니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError를 호출합니다. 시스템에서 터치 패드 지원 등록을 지원하지 않거나 스레드 등록을 취소하려고 하고 스레드가 현재 지원되는 것으로 등록되지 않은 경우 등록이 실패할 수 있습니다.
비고
터치 패드 지원으로 등록하면 다음 시스템 기능이 변경됩니다.
- 이제 GetPointerDevices 는 디바이스 목록에 터치 패드를 포함합니다.
- 터치 패드에서 시작된 마우스 메시지에 대한 GetCurrentInputMessageSource는 IMDT_MOUSE 대신 디바이스 유형으로 IMDT_TOUCHPAD 반환합니다.
- RegisterPointerDeviceNotifications 는 터치 패드에 대한 메시지를 생성합니다(디바이스 도착/출발 및 범위 내/외부의 연락처 모두).
- 창(또는 스레드의 모든 창)은 터치 패드 두 손가락 제스처(이동 및 확대/축소)에 대한 WM_POINTER 메시지를 받습니다.
- 이러한 메시지가 DefWindowProc에 전달되는 경우 비터치 패드 지원 창/스레드에 대해 시스템이 현재와 마찬가지로 마우스 휠 메시지로 변환됩니다.
RegisterTouchpadCapableWindow - 창을 등록하는 것은 "마지막 호출자 우선"입니다. 창의 터치 패드 기능은 API에 대한 최신 호출에 따라 사용하거나 사용하지 않도록 설정됩니다. 창의 소유자는 초기화 중에 가능으로 등록됩니다. 구성 요소는 결과적으로 수신할 WM_POINTER 메시지를 처리하는 방법을 제어할 수 없는 경우 창을 가능으로 등록해서는 안 됩니다.
RegisterTouchpadCapableThread — 시스템은 스레드가 가능으로 등록된 횟수를 추적하므로 스레드가 가능으로 등록된 경우 더 이상 필요하지 않을 때 등록을 취소해야 합니다. 스레드는 RegisterTouchpadCapableThread 를 사용하여 종속 동작이 있는 API를 호출한 다음 스레드의 원래 상태가 유지되도록 등록을 취소할 수 있는 것으로 일시적으로 등록할 수 있습니다.
GetPointerDevices 및 GetCurrentInputMessageSource는 해당 매개 변수의 창을 사용하지 않으므로, 해당 동작은 전체 스레드가 터치 패드를 사용할 수 있는 경우에만 변경되므로 인식하지 않는 스레드의 단일 창에서 옵트인할 때 호환성 문제를 방지합니다.
중요합니다
시스템의 터치 패드 설정 중 일부에 대한 동작은 포인터 입력에서 제스처 인식을 수행하기 위해 상호 작용 컨텍스트 API 내에서 구현됩니다. 여기에는 이동 및/또는 확대/축소가 명시적으로 비활성화되었는지 여부와 이동에 대한 콘텐츠 동작 방향이 포함됩니다. 향후 시스템 업데이트는 더 많은 기능도 도입할 수 있습니다. 따라서 사용자가 모든 애플리케이션에서 균일한 동작을 경험할 수 있도록 터치 패드 지원으로 등록하고 포인터 입력을 직접 수신할 때 제스처 인식에 상호 작용 컨텍스트 API를 사용하는 것이 좋습니다. 이러한 API를 사용하지 않는 경우 애플리케이션의 사용자 환경에 해당하는 경우 사용자의 터치 패드 설정을 쿼리하고 제스처 인식과 관련된 설정을 준수하는 것이 중요합니다. 그러나 새 시스템 설정을 도입하려면 애플리케이션 업데이트가 필요합니다. 상호 작용 컨텍스트 API를 사용하는 경우 이러한 새 설정이 예상대로 자동으로 작동합니다.
특히 새 ProcessPointerFramesInteractionContext2 또는 BufferPointerPacketsInteractionContext2 는 POINTER_INFO 아닌 상호 작용 컨텍스트에 대한 전체 포인터 페이로드를 제공하므로 사용해야 합니다. 제스처 인식에 대한 향후 개선 사항은 이 정보를 고려할 수 있습니다. WinRT PhysicalGestureRecognizer 클래스는 내부적으로 이러한 API를 사용합니다.
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 | Windows 11 [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | 지원되는 버전 없음 |
| Header | Winuser.h(Windows.h 포함) |
| 라이브러리 | User32.lib |
| 동적 링크 라이브러리 (DLL) | User32.dll(RegisterTouchpadCapableWindow의 경우 서수 2689, RegisterTouchpadCapableThread의 경우 서수 2688) |