delphi – 如何从Windows控制面板定义位置和显示语言

前端之家收集整理的这篇文章主要介绍了delphi – 如何从Windows控制面板定义位置和显示语言前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
德尔福xe.

对于Tab管理 – Unicode lang
使用GetSystemDefaultLangID

对于Tab格式 –
使用GetUserDefaultLangID

但是我对For Tab Location使用了什么?

对于“键盘和语言”选项卡
对于Vista及以上版本:Getlocaleinfo,键为LOCALE_CUSTOM_UI_DEFAULT

Function GetLocaleInformation(flag: integer): string;
var
  pclca: array[0..20] of char;
begin
  if (GetLocaleInfo(
      //locale_system_default - Always identical values returns
      LOCALE_CUSTOM_UI_DEFAULT // work only Vista-Win7,not Xp **,flag,pclca,19) <= 0 ) then begin
    pclca[0] := #0;
  end;
  Result := pclca;
end;

>如何在Xp Win7中定义位置和在Xp中显示语言?
>可以是为Xp和Win7定义“显示语言”的通用密钥
>如何接收界面已建立语言的列表?

解决方法

1.1 – 如何获取选定的地理位置(地理ID)?

使用GetUserGeoID功能返回当前用户选择的geographical location.

1.2 – 如何在Windows XP中获取多语言用户界面(MUI)的选定显示语言?

使用GetUserDefaultUILanguage功能返回当前用户选择的language identifier.

2 – 从Windows XP到Windows 7,是否有支持所选显示语言的通用方法

是的.这只是前面提到的GetUserDefaultUILanguage功能.有一句话:

If the user UI language is part of a Language Interface Pack (LIP) and
corresponds to a supplemental locale,this function returns
LOCALE_CUSTOM_UI_DEFAULT.

从Windows 2000开始支持它,即使对于上面的Windows Vista(LOCALE_CUSTOM_UI_DEFAULT),它也应该返回所选的显示语言.

3 – 如何获取可用的用户界面语言列表?

使用EnumUILanguages功能.在Windows XP中,它将language identifiers传递给EnumUILanguagesProc回调函数.从Windows Vista开始,您甚至可以指定其他标志,这些标志用于将语言名称传递给该回调函数,或者您可以指定对许可语言或组策略允许的语言的过滤.

猜你在找的Delphi相关文章