如果不在Thread.CurrentCiulture中,我在哪里可以找到用户文化

本文关键字:文化 用户 在哪里 Thread CurrentCiulture 如果不 | 更新日期: 2023-09-27 18:23:42

如果我既不能使用Thread.CurrentCulture也不能(自然地)使用CultureInfo.CurrentCultury,是否可以找到用户的区域性
我不能使用它们,因为我只是修改庞大项目的一小部分,而Thread.CurrentCulture在其中的某个地方被设置为不同的文化。
一种可能的解决方案是在设置Thread.CurrentCulture时记住原始区域性。但不管怎样,有没有办法获得合适的用户文化?

如果不在Thread.CurrentCiulture中,我在哪里可以找到用户文化

您可以p/invoke GetUserDefaultLCID()并将结果值传递给CultureInfo构造函数,该构造函数接受int:

[DllImport("kernel32.dll")]
static extern int GetUserDefaultLCID();

CultureInfo defaultUserCulture = new CultureInfo(GetUserDefaultLCID());