這三個函數都是得到語言ID,但是使用的場合上卻是有所不同,下面先給出三個函數的原型和解釋:
GetUserDefaultLangID
Returns the language identifier for the current user locale.

LANGID GetUserDefaultLangID(void);
Parameters
This function has no parameters.

Return Values
Returns the language identifier for the current user locale.

GetSystemDefaultLangID
Returns the language identifier for the system locale.

LANGID GetSystemDefaultLangID(void);
Parameters
This function has no parameters.

Return Values
Returns the language identifier for the system locale.

GetUserDefaultUILanguage
Retrieves the user UI language for the current user. If the current user has not set a language, GetUserDefaultUILanguage returns the language identifier for the system default UI language.

LANGID GetUserDefaultUILanguage(void);
Parameters
This function has no parameters.

Return Value
Returns the language identifier for the user UI language for the current user.

要理解這三個函數的使用先要看看控制面板->區域和語言選項,
第一頁代表數字貨幣時間,第二頁是系統UI和軟件界面,第三頁高級是非unicode程序界面語言。
下面是這三個頁面設置時,不同的函數的結果:
                          區域選項       語言         高級
GetUserDefaultLangID        改變          不變        不變     
GetSystemDefaultLangID       不變          不變       改變
GetUserDefaultUILanguage      改變          改變       不變
由些可見,GetUserDefaultUILanguage會和系統UI的語言一致,所以我們建議在寫UNICODE程序界面時用這個
函數會好些,和OS的UI一致,不會讓客人覺得很奇怪。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/nanjian011/archive/2009/10/23/4716903.aspx