这三个函数都是得到语言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