Mon application non-Unicode doit être capable de traiter l'entrée au clavier Unicode (WM_CHAR/etc.), Ainsi recevoir le code de caractère de 8 bits puis le convertir en Unicode. La compatibilité 9x est requise, donc l'utilisation de la plupart des API Unicode n'est pas une option.Comment obtenir la page de code de la disposition de clavier actuelle?
Actuellement, il regarde la langue retournée par PRIMARYLANGID (GetKeyboardLayout (0)), et recherche la page de code pertinente dans une table codée en dur. Je n'ai pas trouvé de fonction permettant d'utiliser la page de codes pour une langue ou une disposition de clavier particulière. La conversion d'un caractère/chaîne peut ensuite être effectuée avec MultiByteToWideChar.
Existe-t-il un moyen d'obtenir la page de codes de la disposition de clavier actuelle? GetACP renvoie la page de code système par défaut, qui n'est pas affectée par la disposition de clavier actuelle.
Cette méthode a un défaut: si la disposition du clavier par défaut ne correspond pas à la page de code du système (CP_ACP), la page de code ne sera pas correcte lorsque l'application démarre. –