habilitar o deshabilitar adaptador de red [Win32_NetworkAdapter]

Iniciado por xkiz ™, 12 Septiembre 2010, 11:58 AM

0 Miembros y 1 Visitante están viendo este tema.

xkiz ™

bue, + o - como dice el titulo estoy tratando de habilitar o deshabilitar la conexion de area local, para ello, buscando por Google
encontre esto lo cual despues de transcribirlo en vb6, no puedo hacer que funcionen las 2 alternativas [ Enable / Disable ].
Aca dejo lo que tengo hasta ahora:

Código (vb) [Seleccionar]

Private Enum What
    Disable = 0
    Enable = 1
End Enum

Private Function zarazaConAdaptor(SoWhat As What) As Boolean
Dim objWMIService As Object
Dim colAdapters As Object
Dim Adapter As Object
Dim errReturn As Integer

On Error GoTo Ups

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colAdapters = objWMIService.Execquery("Select * from Win32_NetworkAdapter Where NetEnabled=True")

'For Each Adapter In colAdapters
'    Debug.Print Adapter.DeviceId & " " & Adapter.Name
'Next
If SoWhat = Disable Then errReturn = colAdapters.ItemIndex(0).Disable()
If SoWhat = Enable Then errReturn = colAdapters.ItemIndex(0).Enable()

If (errReturn <> 0) Then
    zarazaConAdaptor = False
Else
    zarazaConAdaptor = True
End If

Set objWMIService = Nothing
Set colAdapters = Nothing
Exit Function
Ups:
zarazaConAdaptor = False
Set objWMIService = Nothing
Set colAdapters = Nothing
End Function

Private Sub Command1_Click()
'Debug.Print zarazaConAdaptor(Disable)
Debug.Print zarazaConAdaptor(Enable)
End Sub


no logro darme cuenta como solucionar el errror

Citar
Verdadero
-2147217400 Parámetro no válido

¿alguien conoce otra forma de hacer esto? mediante API o algo similar me seria mejor por que usar wmi no me convence mucho....

xkiz ™

#1
jejeje me respongo a mi mismo,, me di cuenta donde estaba el error.

Código (vb) [Seleccionar]
Set colAdapters = objWMIService.Execquery("Select * from Win32_NetworkAdapter Where NetEnabled=True")

antes ni vi lo de " Where NetEnabled=True"
bueno igual ¿alguien sabe otra forma de hacer esto mismo?

Dessa

Adrian Desanti

skapunky

Hay una forma de hacerlo mucho mas rapida (pero mas cutre). Modifica el registro de windows para habilitar/deshabilitar. La clave a mirar si no estoy equivocado es:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Killtrojan Syslog v1.44: ENTRAR