编辑注册表

时间:2011-10-09 14:02:59

标签: c# registry

如何使用c#编辑注册表设置,而无需重启/注销?

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以使用RegistryRegistryKey类来编辑注册表。

这会立即更改注册表中的值。但是,当实际发生变化时,取决于究竟是什么变化。如果没有重新启动计算机或注销当前用户,其中一些是不可能的。

答案 1 :(得分:0)

您的错误在于您正在使用注册表。您应该使用适当的API来更改设置,而不是直接使用注册表。

对于大多数Windows设置,SystemParametersInfo用于更改设置。传递SPIF_SENDCHANGE最后一个参数会使更改立即生效。要使更改成为永久更改,您需要将其与SPIF_UPDATEINIFILE结合使用。

我不知道这是否支持您要更改的设置,因为您没有指定要执行的操作。可以直接在注册表中更改某些设置,然后使用SystemParametersInfo通知使用此设置的应用程序。但这听起来像API滥用,只有在找不到更好的选择时才应该这样做。