Função BlockInput (winuser.h)
Impede que eventos de entrada de teclado e do mouse cheguem aos aplicativos.
Sintaxe
BOOL BlockInput(
[in] BOOL fBlockIt
);
Parâmetros
[in] fBlockIt
Tipo: BOOL
A finalidade da função. Se esse parâmetro for TRUE, os eventos de entrada de teclado e mouse serão bloqueados. Se esse parâmetro for FALSE, os eventos de teclado e mouse serão desbloqueados. Observe que somente o thread que bloqueou a entrada pode desbloquear com êxito a entrada.
Retornar valor
Tipo: BOOL
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a entrada já estiver bloqueada, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Quando a entrada é bloqueada, a entrada física real do mouse ou do teclado não afetará o estado de chave síncrona da fila de entrada (relatado por GetKeyState e GetKeyboardState), nem afetará o estado de chave assíncrona (relatado por GetAsyncKeyState). No entanto, o thread que está bloqueando a entrada pode afetar ambos os estados-chave chamando SendInput. Nenhum outro thread pode fazer isso.
O sistema desbloqueará a entrada nos seguintes casos:
- O thread que bloqueou a entrada sai inesperadamente sem chamar BlockInput com fBlock definido como FALSE. Nesse caso, o sistema limpa corretamente e reabilita a entrada.
- O usuário pressiona CTRL+ALT+DEL ou o sistema invoca a caixa de mensagem modal Erro do Sistema Rígido (por exemplo, quando um programa falha ou um dispositivo falha).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h |
Biblioteca | User32.lib |
DLL | User32.dll |
Confira também
Conceitual
Referência