Wie kann ich die Systemsprache ermitteln?
-
Hi,
ich würde gerne wissen wie ich rausfinden kann, welche Sprache im System eingestellt wurde.
Kann mir jemand helfen?
-
Die MSDN kann dir immer helfen zB mit GetSystemDefaultLangID oder GetUserDefaultLangID.
-
Ok die Funktion GetUserDefaultLangID habe ich jetzt eingebaut. Nur weiß ich nicht wie ich daraus die Sprache als String bekommen soll also zB "German".
Sie liefert mir ja nur eine Id zurück.
Und was mich noch wundert, ich habe als Sprache deutsch aber die Funktion liefert mir die id 0x1031 die ist in der ID-Liste bei MSDN gar nicht aufgeführt.
-
0x1031 enthält SprachID und SubSprachID. Die extrahierst du mit den Makros PRIMARYLANGID und SUBLANGID. Eine Liste mit den Definitionen findest du in winnt.h
-
Hallo,
der Beitrag hier ist zwar schon uralt, aber da ich hier eine Wirrung festgestellt habe (mich hat's jedenfalls verwirrt) möchte ich das mal richtigstellen:
Wenn mit GetUserDefaultLangID() die aktuelle Benutzersprache geholt und in eine Integer- oder Short-Variable gespeichert wird, steht dort selbstverständlich 1031(dez!) in der Variable wenn die aktuelle Benutzersprache German(Standard) ist.
Dies enspricht der hexadezimalen Darstellung 0x0407, welche in der Sprach-ID-Liste unter German(Standard) zu finden ist.
1031(dez) ist also der korrekte Wert für ein "normales" deutschsprachig eingestelltes Betriebssystem (nicht für zB. German(Swiss), da wäre es 0807(hex) bzw 2055(dez) )!MfG