Estoy escribiendo una aplicación de Winform (C# .NET) para cambiar la configuración del proxy global de Windows (también conocido como Internet Explorer).Cómo cambiar el Proxy global de Windows usando C# .NET con 'Efecto inmediato'
Estoy usando esto.
RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 1);
registry.SetValue("ProxyServer", "127.0.0.1:8080");
Pero se comporta de una manera extraña. Probé esto utilizando dos navegadores
- Google Chrome:
Cuando cambio/desactivar el proxy mientras que Chrome se está ejecutando. Chrome aún usa el proxy anterior. El cambio no está afectando su proceso. Pero cuando yo SOLO abreInternet Options(inetcpl.cpl) > Connections > LAN Settings
. El cambio de proxy anterior ahora se considera. Cuando dije Acabo de abrir Realmente quiero decir Solo abra. Es decir, no edito ni hago clic en ningún otro botón. Supongo que es el proxy global el que está cambiando realmente (leyendo del registro) & Google Chrome está tomando el efecto de inmediato.
- Internet Explorer 8:
Caso con Internet Explorer es mucho peor. Después de cambiar/deshabilitar el proxy utilizando mi aplicación mientras se ejecuta IE & Incluso después de ir a "Opciones de Internet (inetcpl.cpl)> Conexiones> Configuración de LAN" El proxy IE en ejecución no se ve afectado. Ni siquiera si abro un nuevo enlace en una nueva pestaña. Tuve que reiniciar IE para que se incorporara ese cambio.
El comportamiento que quiero es que cada vez que cambio la configuración del proxy en mi aplicación, todos los navegadores que se utiliza Proxy mundial (con independencia de si están funcionando o no) deben instante incorporar el cambio en la configuración.
¿Cómo puedo lograrlo?
vistazo a esta página. http://stackoverflow.com/questions/5216323/setting-ie-proxy-by-c-sharp –