用什么函数可以判断当前系统是中文版的还是英文版的?(22分)

  • 主题发起人 主题发起人 batconv
  • 开始时间 开始时间
B

batconv

Unregistered / Unconfirmed
GUEST, unregistred user!
用什么函数可以判断当前系统是中文版的还是英文版的?win98和winXP一样吗?
 
我说的系统是指操作系统。
 
用GetLocaleInfo函数
 
function GetSysDefaultLg: TLanguage;
var
LangID: Integer;
begin
Result := tNone;
LangID := GetSystemDefaultLangID;
if LangID = ((SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH) then
Result := tEnglish //美国英语
else if LangID = ((SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE) then
Result := tGBChs //简体中文
else if LangID = ((SUBLANG_CHINESE_TRADITIONAL shl 10) or LANG_CHINESE) then
Result := tBig5; //繁体中文
end;
 
使用GetSystemDefaultLangID()函数更简单, 中文(简体)=2052;
 
procedure TForm1.Button2Click(Sender: TObject);
Const
ENGLISH = (SUBLANG_ENGLISH_US shl 10) or LANG_ENGLISH;
CHINESE = (SUBLANG_CHINESE_SIMPLIFIED shl 10) or LANG_CHINESE;
TCHINESE =(SUBLANG_CHINESE_TRADITIONAL SHL 10) OR LANG_CHINESE;

begin
Begin
If SysLocale.DefaultLCID=CHINESE then
ShowMessage('中文简体')
Else
If SysLocale.DefaultLCID=TCHINESE then
ShowMessage('中文繁体')
Else
If SysLocale.DefaultLCID=English then
ShowMessage('英文版');
End;

end;
 
谢谢大家热心帮助!接受答案了。
 
后退
顶部