Buenas,
Pues para navegar por la facultad tengo que habilitar un proxy y para navegar por casa o cualquier sitio pues tengo que deshabilitarlo. Tengo un script que me lo hace automaticamente pero tiene una pega, que es que tengo que abrir opciones de internet y darle a aceptar para que me surtan efecto los cambios y la idea es, ya que tengo ese script, pues que haga efecto instantaneamente.
He probado entrando con al clave HKU\SID en lugar de HKCU pero sigue igual..
Aqui lo dejo por si hay alguien que sepa..
Option Explicit
Dim WSHShell, strSetting
Set WSHShell = WScript.CreateObject("WScript.Shell")
'Determine current proxy setting and toggle to oppisite setting
strSetting = wshshell.regread("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable")
If strSetting = 1 Then
NoProxy
MsgBox "Sin proxy",vbCritical,"Activa/Desactiva Proxy"
Else Proxy
MsgBox "Proxy habilitado",vbInformation,"Activa/Desactiva Proxy"
End If
'Subroutine to Toggle Proxy Setting to ON
Sub Proxy
WSHShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 1, "REG_DWORD"
End Sub
'Subroutine to Toggle Proxy Setting to OFF
Sub NoProxy
WSHShell.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable", 0, "REG_DWORD"
End Sub
y otra version:
'------------------------------------------------
' Autor:
' Gregorio Zamora
' http://sites.google.com/site/scriptswindows
'------------------------------------------------
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
Set objShell = WScript.CreateObject("WScript.Shell")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings"
strValueNameEnable = "ProxyEnable"
strValueNameProxy = "ProxyServer"
objRegistry.GetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueNameEnable, dwValueEnable
objRegistry.GetStringValue HKEY_CURRENT_USER, strKeyPath, strValueNameProxy, strValueProxy
if dwValueEnable = 1 Then
strmensaje = "El proxy esta habilitado y configurado contra" & vbCrlf & strValueproxy
strmensaje = strmensaje & vbCrlf & vbCrlf & vbCrlf & "¿Desea deshabilitarlo?"
dwValorProxyEnable = 0
Else
strmensaje = "El proxy esta dehabilitado"
strmensaje = strmensaje & vbCrlf & vbCrlf & vbCrlf & "¿Desea habilitarlo contra " & strValueProxy & " ?"
dwValorProxyEnable = 1
End if
intRespuesta = objShell.Popup (strmensaje, 0 ,"Estado del Proxy", vbQuestion + vbOKCancel)
Select Case intRespuesta
Case vbOK
objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueNameEnable, dwValorProxyEnable
Case vbCancel
End Select
objRegistry.GetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueNameEnable, dwValueEnable
objRegistry.GetStringValue HKEY_CURRENT_USER, strKeyPath, strValueNameProxy, strValueProxy
if (dwValueEnable = 1) Then
objShell.popup "Proxy habilitado" & vbCrlf & strValueProxy, 10, "Estado del proxy", vbInformation + vbOKOnly
Else
objShell.popup "Proxy deshabilitado", 10, "Estado del proxy", vbInformation + vbOKOnly
End if
En el script que puse cambiar el proxy lo cambia, pero no se aplica inmediatamente. Es como si abro opciones de internet/Red pero no le doy a aceptar...
Por cierto uso Win 7 por si afecta..
Como no lo consigo otra opcion que habia pensado es un scrip para que si estoy conectado a una red en concreto que siempre tiene el mismo nombre pues me habilite el proxy (el cual ya esta escrito, solo es on/off) y si no que no lo habilite..
Lo cargaria desde opciones de internet/Conexiones usar scrip de configuracion automatica..
Un saludo!
PD. Creo que este post va aqui, sino que algun moder lo mueva a donde crea...