C#以编程方式更改系统位置然后重新启动

时间:2013-04-09 20:52:51

标签: c#

我需要完全更改系统位置并将其应用于所有帐户。

我现在如何更改线程,但在这种情况下,我需要实际更改所有用户帐户的系统位置。

它将是一个运行Windows的设备,它将具有一个Windows服务,当它启动时将使一个Web服务回调到一个集中托管的系统,它将告诉它它的配置,包括它的位置。然后需要更改它的位置(应用于所有用户帐户),然后重新启动。

我知道如何从控制面板执行此操作,但我需要在C#

中实际执行此操作

2 个答案:

答案 0 :(得分:0)

您可以致电SetUserGeoID来设置当前用户的地理语言。您可以通过调用SetLocaleInfo来设置用户的区域设置。但是,这仅适用于运行当前程序的用户帐户。

您需要使用P / Invoke来调用这些方法。 pinvoke.net可能有原型和示例。

为了复制给其他用户,我不确定。听起来像是你用WMI(Windows Management Instrumentation)做的事情。

答案 1 :(得分:0)

所有设置都包含在注册表中。 [HKEY_USERS.DEFAULT \ Control Panel \ International]位置。因此,您可以在C#中更改它们并重新启动系统。