2009-08-24 18 views
10

Czy ktokolwiek może mi pomóc, jak uzyskać język (angielski, chiński itp.) Z systemu operacyjnego Windows poprzez API win32 (C/C++)?Win32 API dla uzyskania języka (informacje o lokalizacji) systemu operacyjnego?

Dzięki Sourabh

+0

To po prostu nie jest takie proste. Nie ma czegoś takiego jak "język"; może występować wiele języków w równoczesnym użyciu. Czy możesz być bardziej precyzyjny? Wskazówka: przeczytaj blog Michaela Kaplana ["Sortowanie wszystkiego"] (blogs.msdn.com/michkap/) – MSalters

+0

@MSalters Powinieneś zamieścić link bezpośrednio do [relewantnego artykułu] (http://blogs.msdn.com/b/ michkap/archive/2005/02/01/364707.aspx). –

+0

@SadlyNot: To już trochę nieaktualne (obejmuje tylko XP, który jest oczywiście prawie EOL) – MSalters

Odpowiedz

6

można uzyskać domyślne ustawienia regionalne użytkownika (co moim zdaniem jest to pytasz) używając GetUserDefaultLCID. To da ci identyfikator, który może być użyty do określenia kultury. Zobacz here dla tabeli zawierającej identyfikatory i kultury, które reprezentują.

W przypadku systemu Vista lub Windows 7 firma Microsoft zaleca GetUserDefaultLocaleName.

23

Jeśli pytasz o „Jaki język menu systemowe i dialogi są dispalyed w” (tj który MUI - Multilingual User Interface Kit - jest zainstalowany), należy użyć następujących:

Więcej informacji:

+3

A następnie użyj GetLocaleInfo z LOCALE_SENGLANGUAGE, aby uzyskać ISO 639 z LANGID. – Yakeen

+1

Podejrzewam, że jest bliżej tego, o co prosił OP, i o wiele bardziej wszechstronnej odpowiedzi niż moja. – Xiaofu

+0

Jeszcze jedno pytanie: po prostu chcę ustawić FIELDSEPARATOR w ustawieniach regionalnych poprzez wywołanie win api z Delphi. Czy ktoś może ci pomóc? Dzięki –

Powiązane problemy