我需要完全更改系统位置并将其应用于所有帐户。
我现在如何更改线程,但在这种情况下,我需要实际更改所有用户帐户的系统位置。
它将是一个运行 Windows 的设备,将有一个 Windows 服务,当它启动时,它将向一个中央托管系统进行 Web 服务回调,该系统将告诉它它的配置,包括它的位置。然后它需要更改它的位置(适用于所有用户帐户),然后重新启动自身。
我知道如何从控制面板执行此操作,但我需要在 C# 中务实地执行此操作
我需要完全更改系统位置并将其应用于所有帐户。
我现在如何更改线程,但在这种情况下,我需要实际更改所有用户帐户的系统位置。
它将是一个运行 Windows 的设备,将有一个 Windows 服务,当它启动时,它将向一个中央托管系统进行 Web 服务回调,该系统将告诉它它的配置,包括它的位置。然后它需要更改它的位置(适用于所有用户帐户),然后重新启动自身。
我知道如何从控制面板执行此操作,但我需要在 C# 中务实地执行此操作
所有设置都包含在注册表中。[HKEY_USERS.DEFAULT\Control Panel\International] 位置。因此,您可以在 C# 中更改它们并重新启动系统。
您可以通过调用SetUserGeoID来设置当前用户的地理语言。您可以通过调用SetLocaleInfo来设置用户的语言环境。但是,这仅适用于运行当前程序的用户帐户。
您需要使用 P/Invoke 来调用这些方法。pinvoke.net上可能有原型和示例。
对于复制给其他用户,我不确定。听起来像是您使用 WMI(Windows 管理规范)所做的事情。