在Windows中,您可以在此窗口中设置日期和时间所需的格式(如果单击“其他设置”,则设置货币)。
如何以编程方式更改此内容?
我已找到链接告诉我使用CultureInfo
类设置它。这不是一个好的解决方案,因为这只会为一个应用程序而不是整个系统设置它。
我发现有希望的链接指向HKCurrentUser\ControlPanel\Internaltional
我可以看到许多这些设置,但从我读过的内容来看,更改注册表中的设置需要重新启动计算机。直接在下面的窗口截图中设置值 not 需要重新启动。
当我在下面的窗口截图中进行实际更新时,我可以看到注册表中的大多数值都发生了变化。如果我以编程方式执行此操作,那么当我从组合框中选择一个项目时,需要更改所有这些内容似乎有点矫枉过正。
肯定有更好的方法,即Windows API调用(也可以让我处理“其他设置”)?
答案 0 :(得分:0)
在powershell 3中,介绍了Get-Culture和Set-Culture cmdlet。我相信,它在Win 8中运行,我不确定Win 7和Vista。 在powershell中,您可以更改用户区域设置,如下所示:
$culture = Get-Culture
$culture.DateTimeFormat.ShortDatePattern = 'yyyy-MM-dd'
$culture.DateTimeFormat.LongDatePattern = 'dddd, d MMMM, yyyy'
$culture.DateTimeFormat.ShortTimePattern = 'h:mm tt'
$culture.DateTimeFormat.LongTimePattern = 'h:mm:ss tt'
$culture.NumberFormat.CurrencyDecimalSeparator = ":"
Set-Culture $culture
您可以通过执行$ culture |找到其他选项获得成员, $ culture.DateTimeFormat |获得会员, $ culture.NumberFormat |获取会员
您可以在c#应用程序中轻松托管powershell脚本。 https://msdn.microsoft.com/en-us/library/ee706563(v=vs.85).aspx