Как в C# выбрать «Страну или регион» в разделе «Регион и язык» в Windows 10?C#

Место общения программистов C#
Anonymous
Как в C# выбрать «Страну или регион» в разделе «Регион и язык» в Windows 10?

Сообщение Anonymous »

Я использую Windows 10. Когда я открываю «Настройки региона и языка» в меню «Пуск», я могу выбрать «Страну или регион». Я пытаюсь получить это значение в программе на C#.

Я нахожусь в Дании. Я попытался изменить свою страну на Германию (см. снимок экрана), но не могу получить код для возврата в Германию. Перезагрузка компьютера не помогла.

Я написал код, вдохновленный этой веткой.

Мой код выглядит вот так (пробую разные вещи одновременно, получая все сведения о регионе/культуре, которые только могу придумать):

Код: Выделить всё

private static void Main(string[] args)
{
Thread.CurrentThread.CurrentCulture.ClearCachedData();
Thread.CurrentThread.CurrentUICulture.ClearCachedData();
var thread = new Thread(() => ((Action) (() =>
{
Console.WriteLine("Current culture: {0}", Thread.CurrentThread.CurrentCulture.Name);
Console.WriteLine("Current UI culture: {0}", Thread.CurrentThread.CurrentUICulture.Name);
Console.WriteLine("Installed UI culture: {0}", CultureInfo.InstalledUICulture.Name);
Console.WriteLine("Current region: {0}", RegionInfo.CurrentRegion.ThreeLetterISORegionName);
Console.WriteLine("System default LCID: {0}", GetSystemDefaultLCID());
}))());
thread.Start();
thread.Join();
Console.ReadKey();
}

[DllImport("kernel32.dll")]
private static extern uint GetSystemDefaultLCID();
Выводит:

Код: Выделить всё

Current culture: en-DK
Current UI culture: en-US
Installed UI culture: en-US
Current region: DNK
System default LCID: 1033
Как мне заставить свою программу обнаружить, что я выбрал Германию? Какой метод или свойство мне нужно вызвать? И какие перезагрузки или очистка кэша могут потребоваться?

Подробнее здесь: https://stackoverflow.com/questions/462 ... anguage-in

Вернуться в «C#»