Доброго времени суток. Столкнулся с интересной проблемой. При изменении настроек прокси-сервера через реестр, настройки браузеры и софт не подхватывают, если просто открыть окно настроек и закрыть, то сразу применяются (настройки при этом обновлены). Гугл такую проблему не дал, код распространенный, привожу ниже. По ощущениям, как будто, не применяются где-то еще изменения. Важный момент, изменения должны быть без повышения привилегий, под текущим пользователем.
private void SetProxyOFF()
{
using (RegistryKey keyProxyOFF = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true))
{
keyProxyOFF.SetValue("ProxyEnable", 0);
if (!keyProxyOFF.GetValueNames().Contains("AutoDetect"))
keyProxyOFF.CreateSubKey("AutoDetect");
keyProxyOFF.SetValue("AutoDetect", 1);
keyProxyOFF.Close();
}
}
и код простановки прокси:
private void SetProxyON()
{
using(RegistryKey keyProxyON = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true))
{
keyProxyON.SetValue("ProxyEnable", 1);
keyProxyON.CreateSubKey("ProxyServer");
keyProxyON.SetValue("ProxyServer",
//прокси-адрес и порт из массива.
$"{SettingFromFile[5][0]}.{SettingFromFile[5][1]}.{SettingFromFile[5][2]}." +
$"{SettingFromFile[5][3]}:{SettingFromFile[6][0]}");
if (!keyProxyON.GetValueNames().Contains("AutoDetect"))
keyProxyON.CreateSubKey("AutoDetect");
keyProxyON.SetValue("AutoDetect", 0);
keyProxyON.Close();
}
}