Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: David Vans en 8 Agosto 2006, 12:51 pm



Título: Adaptadores de Red
Publicado por: David Vans en 8 Agosto 2006, 12:51 pm
Sabe alguein como puedo maneja los adaptadoes de red dede codigo en vb6  lo que queira es poder habilitar y desabilitar las conesiones y saber cuantas tengo desde vb 6


Título: Re: Adaptadores de Red
Publicado por: _Sergi_ en 8 Agosto 2006, 13:45 pm
Para comprobar si estamos conectados o no a una red local, puedes usar la API IsNetworkAlive

Código:
Const NETWORK_ALIVE_AOL = &H4
Const NETWORK_ALIVE_LAN = &H1
Const NETWORK_ALIVE_WAN = &H2
Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long
Private Sub Form_Load()
Dim Datos As Long
If IsNetworkAlive(Datos) = 0 Then
MsgBox "No estamos conectados a una red"
Else
MsgBox "¡El sistema está conectado a una " + IIf(Datos = NETWORK_ALIVE_AOL, "AOL", IIf(Datos = NETWORK_ALIVE_LAN, "LAN", "WAN")) + "!"
End If
End Sub

Para enumerar los adaptadores, podemos usar la API GetIpStatistics Lib, que devuelve muchísimos datos. En este ejemplo al cargar el formulario nos dice cuantos adaptadores hay. Ojo a Cstr para convertir el valor a String.

Código:
'No las he comentado todas porque
'hay muchas que no se para que sirven
Private Type MIB_IPSTATS
    dwForwarding As Long
    dwDefaultTTL As Long
    dwInReceives As Long
    dwInHdrErrors As Long  ' errores de cabecera
    dwInAddrErrors As Long ' errores de direccion
    dwForwDatagrams As Long
    dwInUnknownProtos As Long
    dwInDiscards As Long
    dwInDelivers As Long
    dwOutRequests As Long
    dwRoutingDiscards As Long
    dwOutDiscards As Long
    dwOutNoRoutes As Long
    dwReasmTimeout As Long
    dwReasmReqds As Long
    dwReasmOks As Long
    dwReasmFails As Long
    dwFragOks As Long
    dwFragFails As Long '
    dwFragCreates As Long
    dwNumIf As Long ' número de adaptadores de red
    dwNumAddr As Long  ' número de direcciones ip
    dwNumRoutes As Long
End Type
Private Declare Function GetIpStatistics Lib "iphlpapi" (pStats As MIB_IPSTATS) As Long

Private Sub Form_Load()
Dim IpStats As MIB_IPSTATS
GetIpStatistics IpStats
MsgBox "El numero de conexiones de red es " & CStr(IpStats.dwNumIf)
End Sub

En cuanto a lo de establecer y cerrar conexiones de red, esto ya es algo más complicado ya que en muchos casos requiere autentificación, mírate este enlace:

Ejemplo conectar y desconectar recursos de red

http://www.vb-mundo.com/truco_programacion_177-Conectar-y-desconectar-una-unidad-de-red.htm

Un saludo


Título: Re: Adaptadores de Red
Publicado por: David Vans en 8 Agosto 2006, 15:31 pm
Ok tio muchisimas gracias  ;D