我正在運行Windows 10.當我從開始菜單打開「區域&語言設置」時,我可以選擇「國家或地區」。我正在嘗試在C#程序中獲取此值。在C#中,如何獲取Windows 10中「區域和語言」下選擇的「國家或地區」?
我在丹麥。我曾嘗試將我的國家改爲德國(請參閱screenshot),但我無法讓我的代碼返回德國。重新啓動電腦沒有幫助。
我寫了一些代碼靈感來自this thread。
我的代碼看起來像這樣(試圖馬上各種各樣的事情,讓所有我能想到的區域/文化的東西):
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
我怎樣才能得到我的程序檢測到我選擇了德國?我需要撥打什麼方法或財產?什麼重新啓動或緩存清除可能是必要的?
[RegionInfo.CurrentRegion](https://msdn.microsoft.com/en-us/library/system.globalization.regioninfo。 currentregion(v = vs.110)的.aspx)。有時間升級您的Google-Fu。 –
區域控制面板[Win32]中存在「管理」選項卡,而不是現代設置。點擊「複製設置」和「更改系統區域設置」。可能可能會解決你的quastion –
我終於在這個線程中找到了我的問題的答案:https://stackoverflow.com/questions/8879259/get-current-location-as-specified-in-region-and-language-in- c-sharp –