Как изменить глобальный прокси-сервер Windows с помощью C # .NET с «Немедленным эффектом»

пишу Winform 's (C # .NET) приложение для изменения Windows Глобал (он же Internet Explorer 's) настройки прокси.

Я использую это.

RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 1);
registry.SetValue("ProxyServer", "127.0.0.1:8080");

Но это ведет себя странным образом. Я проверил это с помощью двух браузеров

Гугл Хром:

Когда я меняю / отключаю прокси во время работы Chrome. Chrome все еще использует предыдущий прокси. Изменение не влияет на его процесс. Но когда яПросто открыть Internet Options(inetcpl.cpl) > Connections > LAN Settings, Предыдущая смена прокси сейчас рассматривается. Когда я сказалПросто открой Я действительно имею в видуПросто открой, Я имею в виду, не редактируя и не нажимая какие-либо другие кнопки. Я думаю, тогда глобальный проксидействительно меняется (читая из реестра) & Google Chrome сразу начинает действовать.

Internet Explorer 8:

Случай с Internet Explorer намного хуже. После изменения / отключения прокси-сервера с помощью моего приложения во время работы IE Даже после "Свойства обозревателя (inetcpl.cpl)> Соединения> Настройки Lan " Работающий прокси IE неэто влияет Даже если я открою новую ссылку в новой вкладке. Мне пришлось перезапустить IE, чтобы это изменение было включено.

Я хочу, чтобы при каждом изменении настроек прокси в моем приложении все браузеры, использующие глобальный прокси (независимо от того, запущены они или нет), должнынемедленно включить изменения в настройках.

Как мне этого добиться?

Ответы на вопрос(1)

Ваш ответ на вопрос