如何使用c#编辑注册表设置,而无需重启/注销?
谢谢!
答案 0 :(得分:5)
您可以使用Registry
或RegistryKey
类来编辑注册表。
这会立即更改注册表中的值。但是,当实际发生变化时,取决于究竟是什么变化。如果没有重新启动计算机或注销当前用户,其中一些是不可能的。
答案 1 :(得分:0)
您的错误在于您正在使用注册表。您应该使用适当的API来更改设置,而不是直接使用注册表。
对于大多数Windows设置,SystemParametersInfo
用于更改设置。传递SPIF_SENDCHANGE
最后一个参数会使更改立即生效。要使更改成为永久更改,您需要将其与SPIF_UPDATEINIFILE
结合使用。
我不知道这是否支持您要更改的设置,因为您没有指定要执行的操作。可以直接在注册表中更改某些设置,然后使用SystemParametersInfo
通知使用此设置的应用程序。但这听起来像API滥用,只有在找不到更好的选择时才应该这样做。