A função ToUnicodeEx converte o código de chave virtual especificado e o estado do teclado para o correspondente caractere Unicode ou caracteres.
int ToUnicodeEx ( UINT wVirtKey, / / virtual-chave códigoUINTwScanCode, / / código de verificaçãoPBYTElpKeyState, / / chave estado matrizLPWSTRpwszBuff, / / chave traduzidas de buffer intcchBuff, / / tamanho do buffer de chave traduzidoUINTwFlags, / / definir sinalizadores de função-condicionado HKLdwhkl / / identificador layout de teclado);
A função retorna um dos seguinte valores.
| Valor | Significado |
|---|---|
| – 1 | A chave virtual especificada é um caractere de mortos-chave (acento ou sinal diacrítico). Esse valor é retornado independentemente do layout do teclado, mesmo se vários caracteres forem digitados e são armazenados no estado do teclado. Se possível, mesmo com layouts de teclado de Unicode, a função tem escrito uma versão de espaçamento do personagem morto-chave para a reserva especificada por pwszBuffer. Por exemplo, a função grava o caractere de ESPAÇAMENTO aguda (0x00B4), em vez do personagem NON_SPACING aguda (0x0301). |
| 0 | A chave virtual especificada não tem nenhuma tradução para o estado atual do teclado. Nada foi escrito para o buffer especificado por pwszBuffer. |
| 1 | Um caractere foi escrito para o buffer especificado por pwszBuffer. |
| 2 ou mais | Dois ou mais caracteres foram gravados para o buffer especificado por pwszBuff. A causa mais comum para isso é que um personagem morto-chave (acento ou sinal diacrítico) armazenado no layout do teclado não poderia ser combinado com a chave virtual especificada para formar um único caractere. |
Os parâmetros fornecidos para a função ToUnicodeEx podem não ser suficientes para traduzir o código de chave virtual porque uma chave de inatividade anterior é armazenada no layout do teclado.
Normalmente, ToUnicodeEx realiza a tradução baseada o código de chave virtual. Em alguns casos, no entanto, o bit 15 do parâmetro wScanCode pode ser usado para distinguir entre um pressionamento de tecla e uma liberação chave.
nbsp; Windows &NT: requer a versão 4.0 ou posterior.
Windows:Sem suporte.
Windows CE:Sem suporte.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Visão geral de entrada de teclado, funções de entrada de teclado, ToAscii, ToUnicode, VkKeyScan