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 processado. 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 | Indica 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 chave 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 encerramento. (Esse parâmetro deve ser igual ao tamanho do buffer apontado pelo parâmetro lpString.)
Valor de retorno
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.
Observações
O formato da cadeia de caracteres de nome de chave depende do layout atual do teclado.
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 chave é traduzido de acordo com o layout do teclado atualmente ativo, 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 são escritos na íntegra.
Chaves de caractere mapeadas para o 'A'. Os códigos de chave virtual de Z' são traduzidos para a <LETRA MAIÚSCULA LATINA 0+0041 A>..<caracteres> U+005A LATIN CAPITAL LETTER Z, independentemente do layout atual do teclado. Nesse caso, use os métodos ToUnicode ou ToUnicodeEx para obter o caractere da tecla correspondente.
Esse método pode não funcionar corretamente com alguns layouts de teclado que produzem vários caracteres (como ligaturas) ou caracteres Unicode suplementares em uma única tecla.
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 do 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winuser.h (inclua Windows.h) |
biblioteca | User32.lib |
de DLL |
User32.dll |
Consulte também
de entrada do teclado