2009-08-24 40 views
10

Win32 API (C/C++) aracılığıyla Windows işletim sisteminin dilini (ingilizce, çince, vb.) Nasıl alacağınız konusunda bana yardımcı olabilir misiniz?Win32 API?

sayesinde Sourabh

+0

Sadece bu kadar basit değil. "Dil" diye bir şey yoktur; Eşzamanlı kullanımda birden fazla duba olabilir. Daha hassas olabilir misin? İpucu: Michael Kaplan'ın blogunu oku ["Her şeyi sıralama"] (blogs.msdn.com/michkap/) – MSalters

+0

@MSalters Doğrudan ilgili makaleye bağlantı vermelisiniz (http://blogs.msdn.com/b/ michkap/arşiv/2005/02/01/364707.aspx). –

+0

@SadlyNot: Bu, şu an itibariyle biraz modası geçmiş (bu, neredeyse sadece EOL olan XP'yi kapsar) – MSalters

cevap

6

Sen GetUserDefaultLCID kullanarak (ben ne istediğini düşünüyorum) varsayılan kullanıcı yerel ayarı elde edebilirsiniz. Bu size kültürü belirlemek için kullanılabilecek bir kimlik verecektir. Kimlikler ve temsil ettikleri kültürleri içeren bir tablo için bkz. here.

Vista veya Windows 7 için, Microsoft, GetUserDefaultLocaleName ürününü önerir.

23

sen (MUI yani hangi - Dilde Kullanıcı Arabirimi kiti - yüklü) "OS menüleri ve diyaloglar içinde dispalyed Hangi dili" hakkında soruyorsanız şunları kullanın:

diğer bilgiler:

+3

Ve sonra LANGID'den ISO 639'u almak için LOCALE_SENGLANGUAGE ile GetLocaleInfo kullanın. – Yakeen

+1

Bunun OP'nin sorduğu soruya ve benimkinden çok daha kapsamlı bir cevaba yaklaştığından şüpheleniyorum. – Xiaofu

+0

Bunun için bir soru daha var: Sadece FIELDSEPARATOR'ı yerel ayarlarda Delphi'den bir sesli arama ile ayarlamak istiyorum. Buradaki herkes yardım edebilir mi? Teşekkürler –