我正在尝试使用C#以编程方式将代理设置更改为Internet Explorer的已启用/已禁用。这是为了在需要代理的网站之间进行处理。
我的代码:
string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(key, true);
RegKey.SetValue("ProxyEnable", 1);
我提到的更新注册表的大多数文章表明存在这样做的风险。
我想知道
执行上述代码涉及的风险是什么
我是否可以采取任何措施来弥补风险。例如,为特定密钥进行注册表备份。
答案 0 :(得分:1)
更改注册表的风险很简单,您可能会损坏系统。如果您真的想在客户机器上运行它:
答案 1 :(得分:1)
注册管理机构是由操作系统控制的环境,可能会受到无法预料的更新。我认为主要的风险是无法知道您的数据究竟发生了什么(例如:如果Windows认为重置或覆盖您的值是个好主意,那么您将失去所有这些。)
此外,就像有人在对另一个答案的评论中所说,无效的条目可能会导致数据丢失,尤其是当您的数据超过注册管理机构允许的最大长度时。
如果需要修改注册表,可以测试密钥是否存在并在覆盖之前保留原始值的跟踪。当然,您需要确保更改密钥不会产生意外影响。