Função GetKeyNameTextA (winuser.h)
Recupera uma cadeia de caracteres que representa o nome de uma chave.
Sintaxe
int GetKeyNameTextA(
[in] LONG lParam,
[out] LPSTR lpString,
[in] int cchSize
);
Parâmetros
[in] lParam
Tipo: LONG
O segundo parâmetro da mensagem de teclado (como WM_KEYDOWN) a ser processada. A função interpreta as seguintes posições de bit no lParam.
Bits | Significado |
---|---|
16-23 | O código de verificação. O valor depende do OEM. |
24 | Especifica se a tecla é uma tecla estendida, como as teclas ALT e CTRL à direita que aparecem em um teclado avançado de 101 ou 102 teclas. O valor será 1 se for uma tecla estendida; caso contrário, é 0. |
25 | Bit "Não se importa". O aplicativo que chama essa função define esse bit para indicar que a função não deve distinguir entre as teclas CTRL e SHIFT esquerda e direita, por exemplo. |
Para obter mais detalhes, consulte Sinalizadores de mensagem de pressionamento de tecla.
[out] lpString
Tipo: LPTSTR
O buffer que receberá o nome da chave.
[in] cchSize
Tipo: int
O comprimento máximo, em caracteres, do nome da chave, incluindo o caractere nulo de terminação. (Esse parâmetro deve ser igual ao tamanho do buffer apontado pelo parâmetro lpString .)
Retornar valor
Tipo: int
Se a função for bem-sucedida, uma cadeia de caracteres terminada em nulo será copiada para o buffer especificado e o valor retornado será o comprimento da cadeia de caracteres, em caracteres, sem contar o caractere nulo de terminação.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
O formato da cadeia de caracteres de chave-nome depende do layout do teclado atual.
O layout do teclado mantém uma lista de nomes na forma de cadeias de caracteres para teclas com nomes maiores que um único caractere. O nome da tecla é traduzido de acordo com o layout de teclado ativo no momento, portanto, a função pode retornar resultados diferentes para layouts de teclado diferentes.
O nome de uma chave de caractere é o próprio caractere. Os nomes das chaves mortas estão escritos na íntegra.
Esse método pode não funcionar corretamente com alguns layouts de teclado que produzem vários caracteres (ou seja, ligaturas) e/ou caracteres Unicode suplementares impressos em uma única tecla. Além disso, as chaves mapeadas para o 'A'. Os códigos de chave virtual Z são convertidos em "A" maiúsculas. Caracteres Z, independentemente do layout do teclado atual. Use os métodos ToUnicode ou ToUnicodeEx nesses casos.
O cabeçalho winuser.h define GetKeyNameText como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
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 (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de