【求助】c#更改Internet设置的问题
利用 wininet.dll 中的 InternetSetOption 以及 注册表 来更改Internet设置
遇到了问题,
代码见下,一共有两个函数,一个是设置代理,另一个是撤销代理
遇到的问题是,有时设置无法更改。
我加入了三个消息对话框监控注册表状态,
发现在设置代理时,第二个消息显示注册表被更改,而进行InternetSetOption之后,注册表又被重置。
这是怎么回事?
另外想问下InternetSetOption该怎么用?
public void SetIEProxy(string proxy)
{
//打开注册表
RegistryKey regKey = Registry.CurrentUser;
string SubKeyPath = @"Software\Microsoft\Windows\CurrentVersion\Internet Settings";
MessageBox.Show(Regedit.Instance().GetRegistData(SubKeyPath, "ProxyEnable"));
RegistryKey optionKey = regKey.OpenSubKey(SubKeyPath, true);
//更改健值,设置代理,
{
optionKey.SetValue("ProxyEnable", 1);
optionKey.SetValue("ProxyServer", proxy);
MessageBox.Show(Regedit.Instance().GetRegistData(SubKeyPath, "ProxyEnable"));
// optionKey.Close();
}
// regKey.Close();
//激活代理设置
InternetSetOption(0, 39, IntPtr.Zero, 0);
InternetSetOption(0, 37, IntPtr.Zero, 0);
MessageBox.Show(Regedit.Instance().GetRegistData(SubKeyPath, "ProxyEnable"));
}