Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Grimble Grumble en 11 Agosto 2006, 07:49 am



Título: Avisar ante conexion
Publicado por: Grimble Grumble en 11 Agosto 2006, 07:49 am
Bueno,,, estoy haciendo un programa q guarda en un archivo el tiempo q se estubo conectado en internet... pero no se como hacer q el prog detecte justo cuando se conecta una persona para empezar a hacer el log...

espero haberme explicado...

 Saludos!


Título: Re: Avisar ante conexion
Publicado por: -POLACO- en 11 Agosto 2006, 11:40 am
yo siempre use esto mira,ni recuerdo de donde lo saque,pero funca bien
Lo que hace es verificar cada 10 segundos(eso lo varias si queres) si estas conectado a Internet:

esto va en un Modulo:
Código:
'MODULO
Option Explicit
Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long

Public Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32

Public Type RASCONN95
dwSize As Long
hRasCon As Long
szEntryName(RAS95_MaxEntryName) As Byte
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Type RASCONNSTATUS95
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS95_MaxDeviceType) As Byte
szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
y esto va en Formulaio solo debes agragr un timer
Código:
Option Explicit

Public Function IsConnected() As Boolean

Dim TRasCon(255) As RASCONN95
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RASCONNSTATUS95

TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize

RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)

If RetVal <> 0 Then
Exit Function
End If

Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)

If Tstatus.RasConnState = &H2000 Then
IsConnected = True
Else
IsConnected = False
End If
End Function



Private Sub Timer1_Timer()
Timer1.Interval = 10000 '=10 segundos
'sacale los msgbox son para que te des cuenta como funca.
If IsConnected = True Then MsgBox "Estas Conectado" 'comienza log
If IsConnected = False Then MsgBox "NO estas Conectado" 'fin log
End Sub

Espero te sirva,si no avisa,saludos .-.


Título: Re: Avisar ante conexion
Publicado por: Grimble Grumble en 12 Agosto 2006, 23:31 pm
GRACIAS POLACO !! era exactamente lo q buscaba, no lo probe, pero gracias por tu tiempo...

Saludos !