如果我既不能使用Thread.CurrentCulture也不能(自然地)使用CultureInfo.CurrentCultury,是否可以找到用户的区域性
我不能使用它们,因为我只是修改庞大项目的一小部分,而Thread.CurrentCulture
在其中的某个地方被设置为不同的文化。
一种可能的解决方案是在设置Thread.CurrentCulture
时记住原始区域性。但不管怎样,有没有办法获得合适的用户文化?
您可以p/invoke GetUserDefaultLCID()并将结果值传递给CultureInfo构造函数,该构造函数接受int
:
[DllImport("kernel32.dll")]
static extern int GetUserDefaultLCID();
CultureInfo defaultUserCulture = new CultureInfo(GetUserDefaultLCID());