Где я могу найти культуру пользователя, если не в Thread.CurrentCilture - PullRequest
2 голосов
/ 08 февраля 2012

Можно ли найти культуру пользователя, если я не могу использовать Thread.CurrentCulture или (естественно) CultureInfo.CurrentCulture ?
Я не могу использовать их, потому что я просто изменяю небольшую часть огромного проекта, и Thread.CurrentCulture настроен на другую культуру где-то в нем.
Одним из возможных решений является запоминание оригинальной культуры при установке Thread.CurrentCulture. Но есть ли способ получить надлежащую культуру пользователя, несмотря ни на что?

1 Ответ

3 голосов
/ 08 февраля 2012

Вы можете p / invoke GetUserDefaultLCID () и передать полученное значение в конструктор CultureInfo , который принимает int:

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

CultureInfo defaultUserCulture = new CultureInfo(GetUserDefaultLCID());
...