2009-09-20 8 views
2

J'utilise une version néerlandaise de Windows et moi avons ce morceau de code:Comment obtenir des messages d'erreur en anglais sur une version en langue étrangère de Windows?

::FormatMessage 
(
    FORMAT_MESSAGE_ALLOCATE_BUFFER 
    | FORMAT_MESSAGE_FROM_SYSTEM 
    | FORMAT_MESSAGE_IGNORE_INSERTS, 
    NULL, 
    lastError, 
    MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), 
    (LPTSTR)&lpMsgBuf, 
    0, 
    NULL 
); 

Cependant, cela renvoie les messages en néerlandais. Serait-il possible d'obtenir les messages d'erreur en anglais à la place?

Répondre

3

J'ai bien peur que non! AFAIK, les ressources en anglais ne sont pas disponibles du tout dans d'autres éditions internationales de l'OS.

0

Le seul moyen que je connaisse est de changer la langue configurée du système d'exploitation, qui change tout le texte à cette langue. Je ne suis pas sûr si cela est possible dans Vista ou 7, sauf si vous avez l'édition Ultimate, qui propose 33 à 34 langues supplémentaires en téléchargement à partir de Windows Update.

0

Selon this answer vous pouvez spécifier:

MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) 

pour le 4ème paramètre de FormatMessage.

Ou en utilisant another answer vous pouvez définir la langue de l'interface utilisateur par défaut pour le thread en cours via SetThreadUILanguage.

Questions connexes