Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[Algumas informações referem-se ao produto pré-lançado que pode ser substancialmente modificado antes de ser lançado comercialmente. Microsoft não faz garantias, expressas ou implícitas, em relação às informações fornecidas aqui.]
Registra a janela especificada ou o thread atual como compatível com touchpad para o sistema.
Sintaxe
WINUSERAPI
BOOL
WINAPI
RegisterTouchpadCapableWindow(
_In_ HWND hWnd,
_In_ BOOL fEnable);
WINUSERAPI
BOOL
WINAPI
RegisterTouchpadCapableThread(
_In_ BOOL fEnable);
Parâmetros
RegisterTouchpadCapableWindow
- hWnd
-
Um identificador para a janela a ser registrado ou não registrado como compatível com touchpad.
- fEnable
-
TRUE para registrar a janela como compatível com touchpad; FALSE para cancelá-lo.
RegisterTouchpadCapableThread
- fEnable
-
TRUE para registrar o thread atual como compatível com touchpad; FALSE para cancelá-lo.
Valor de retorno
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError. O registro poderá falhar se o sistema não der suporte ao registro como compatível com touchpad ou se tentar cancelar o registro do thread e o thread não estiver registrado como capaz no momento.
Observações
Ao registrar-se como compatível com touchpad, a seguinte funcionalidade do sistema será alterada:
- GetPointerDevices agora incluirá touchpads em sua lista de dispositivos.
- GetCurrentInputMessageSource para mensagens de mouse originadas por touchpad retornará IMDT_TOUCHPAD como o tipo de dispositivo em vez de IMDT_MOUSE.
- RegisterPointerDeviceNotifications produzirá mensagens para touchpads (tanto a chegada/saída do dispositivo quanto os contatos dentro/fora do intervalo).
- A janela (ou todas as janelas no thread) receberá mensagens WM_POINTER para gestos de dois dedos do touchpad (painéis e zooms).
- Se essas mensagens forem encaminhadas para DefWindowProc, elas serão convertidas em mensagens de roda do mouse, assim como o sistema faz hoje para windows/threads não compatíveis com touchpad.
RegisterTouchpadCapableWindow — Registrar uma janela é "último chamador ganha" – a funcionalidade do touchpad da janela está habilitada ou desabilitada com base na chamada mais recente para a API. A expectativa é que o proprietário da janela se registre como capaz durante a inicialização– os componentes não devem registrar uma janela como capaz se não puderem controlar como ela lida com as mensagens WM_POINTER que, consequentemente, serão recebidas.
RegisterTouchpadCapableThread — O sistema mantém o controle de quantas vezes o thread foi registrado como capaz, portanto, se o thread for registrado como capaz, ele deverá ser cancelado quando não for mais necessário. Um thread pode usar RegisterTouchpadCapableThread para se registrar temporariamente como capaz de chamar APIs que têm comportamento dependente e, em seguida, cancelar o registro para que o estado original do thread seja preservado.
Como GetPointerDevices e GetCurrentInputMessageSource não tomam uma janela em seus parâmetros, seu comportamento só mudará quando todo o thread for compatível com touchpad, para evitar problemas de compatibilidade ao optar por uma única janela em um thread sem conhecimento.
Importante
O comportamento de algumas das configurações do touchpad do sistema é implementado dentro das APIs de Contexto de Interação para executar o reconhecimento de gestos na entrada do ponteiro. Isso inclui se o movimento panorâmico e/ou o zoom foram explicitamente desabilitados e a direção do movimento de conteúdo para movimento panorâmico. Futuras atualizações do sistema também podem introduzir mais funcionalidade. É altamente recomendável, portanto, usar as APIs de Contexto de Interação para reconhecimento de gestos ao se registrar como compatível com touchpad e receber diretamente a entrada do ponteiro, para que o usuário experimente um comportamento uniforme em todos os aplicativos. Se não estiver usando essas APIs, é importante consultar as configurações do touchpad do usuário e respeitar as relacionadas ao reconhecimento de gestos, se aplicável à experiência do usuário do aplicativo. No entanto, a introdução de novas configurações do sistema exigiria atualizações de aplicativo. No entanto, se usar as APIs de Contexto de Interação, essas novas configurações funcionarão automaticamente conforme o esperado.
Especificamente, o novo ProcessPointerFramesInteractionContext2 ou BufferPointerPacketsInteractionContext2 deve ser usado, pois eles fornecem o conteúdo completo do ponteiro para o Contexto de Interação, em vez de apenas o POINTER_INFO. Melhorias futuras no reconhecimento de gestos podem levar essas informações em consideração. A classe WinRT PhysicalGestureRecognizer usa essas APIs internamente.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo suportado | Windows 11 [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Nenhum compatível |
| Cabeçalho | Winuser.h (inclua Windows.h) |
| Biblioteca | User32.lib |
| DLL | User32.dll (ordinal 2689 for RegisterTouchpadCapableWindow, ordinal 2688 for RegisterTouchpadCapableThread) |