【发布时间】:2017-09-24 03:17:58
【问题描述】:
有人知道如何使用 c# 以编程方式在控制面板区域设置中获取“非 Unicode 程序语言”的值吗?
已经尝试过 CultureInfo、RegionInfo 和使用 Encoding 对象获取默认编码,但我只能获取 Standards and Formats 值或主代码页。
【问题讨论】:
标签: c#
有人知道如何使用 c# 以编程方式在控制面板区域设置中获取“非 Unicode 程序语言”的值吗?
已经尝试过 CultureInfo、RegionInfo 和使用 Encoding 对象获取默认编码,但我只能获取 Standards and Formats 值或主代码页。
【问题讨论】:
标签: c#
【讨论】:
Windows 应用程序国际化 中的NLS Terminology 页面给出了答案:
ANSI 应用程序应在安装期间检查非 Unicode 程序设置的语言。它使用 GetACP 或 GetOEMCP 来检索值。不支持为非Unicode程序设置语言的功能。
GetACP 函数返回 "ANSI code page"(例如 1252 表示英语),而 GetOEMCP 返回“OEM 代码页”(控制台中使用的代码页,437 表示英语)。
Code Pages 有更多关于 Windows 代码页的信息。
【讨论】:
IIRC,Thread.CurrentUICulture 获取该值。
【讨论】: