获取非Unicode程序的语言

任何人都知道如何使用c#以编程方式在控制面板区域设置中获取“非Unicode程序的语言”的值?

已经尝试过CultureInfo,RegionInfo并使用Encoding对象获取默认编码,但我只能获得Standards and Formats值或主代码页。

GetSystemDefaultLocaleName或GetSystemDefaultLCID (及其P / Invoke声明 )

国际化Windows应用程序中的NLS术语页面有答案:

ANSI应用程序应在安装期间检查非Unicode程序设置的语言。 它使用GetACPGetOEMCP来检索值。 不支持为非Unicode程序设置语言的function。

GetACP函数返回“ANSI代码页” (例如英语为1252),而GetOEMCP返回“OEM代码页”(控制台中使用的代码页,英语为437)。

代码页有关于Windows中代码页的更多信息。

IIRC, Thread.CurrentUICulture获得该值。