Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Sancho.Mazorka en 27 Mayo 2006, 05:15 am



Título: datos del modem!
Publicado por: Sancho.Mazorka en 27 Mayo 2006, 05:15 am
Hola muchachos miren yo estoy haciendo un controlador de tiempo y trafico de internet (osea los kb bajados y el tiempo) pero me salta una duda! yo solo puedo obtener los datos de lo que va descargando en total! alguien sabe como podria hace rpara saber cuanto descarga por separado ej: 9k , 7kb en vez de mostrar  1254kb , 1259kb! me entienden? bueno espero que me puedan ayudar aca les meto el code que uso para sacar esos datos! Gracias de antemano

en un modulo:
Código:
'Inet
Public Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long
Public Declare Function RasEnumConnections Lib "rasapi32" Alias "RasEnumConnectionsA" (ByVal lpRasConn As Long, ByVal lpcb As Long, ByVal lpcConnections As Long) As Long
Public Declare Function RasGetConnectionStatistics Lib "rasapi32" (ByVal hRasConn As Long, ByVal lpStatistics As Long) As Long

Global conn As RasConn
Global stat As RAS_STATS
Global Y As Long, z As Long

'Inet
Public Const INTERNET_CONNECTION_MODEM_BUSY As Long = &H8
Public Const INTERNET_RAS_INSTALLED As Long = &H10
Public Const INTERNET_CONNECTION_OFFLINE As Long = &H20
Public Const INTERNET_CONNECTION_CONFIGURED As Long = &H40

'tipos para detectar la conexion
Public Type RasConn
    dwSize As Long
    hRasConn As Long
    szEntryName(0 To 256) As Byte
    szDeviceType(0 To 16) As Byte
    szDeviceName(0 To 128) As Byte
    pad As Byte
End Type

'tipo para saber todas las actividades sobre el modem (bits enviados, recibidos, tiempo, etc...)
Public Type RAS_STATS
    dwSize As Long
    dwBytesXmited As Long
    dwBytesRcved As Long
    dwFramesXmited As Long
    dwFramesRcved As Long
    dwCrcErr As Long
    dwTimeoutErr As Long
    dwAlignmentErr As Long
    dwHardwareOverrunErr As Long
    dwFramingErr As Long
    dwBufferOverrunErr As Long
    dwCompressionRatioIn As Long
    dwCompressionRatioOut As Long
    dwBps As Long
    dwConnectDuration As Long
End Type

en un form:
Código:
Private Sub Form_Load()
conn.dwSize = Len(conn)
Y = conn.dwSize

'esta parte del code parece una idiotez pero sin esto no funca :S
If RasEnumConnections(VarPtr(conn), VarPtr(Y), VarPtr(z)) = 0 Then stat.dwSize = Len(stat)
If RasGetConnectionStatistics(conn.hRasConn, VarPtr(stat)) = 0 Then
End If
    MsgBox "tamaño " & stat.dwSize
    MsgBox "tras " & stat.dwBytesXmited
    MsgBox "recibidos " & stat.dwBytesRcved
    MsgBox "ped trans " & stat.dwFramesXmited
    MsgBox "ped reci " & stat.dwFramesRcved
    MsgBox "error " & stat.dwCrcErr
    MsgBox "error time " & stat.dwTimeoutErr
    MsgBox "otro error " & stat.dwAlignmentErr
    MsgBox "+ erorro " & stat.dwFramingErr
    MsgBox "buffer " & stat.dwBufferOverrunErr
    MsgBox "compresion in" & stat.dwCompressionRatioIn
    MsgBox "compresion out" & stat.dwCompressionRatioOut
    MsgBox "velo " & stat.dwBps
    MsgBox "duracion " & stat.dwConnectDuration
end sub

bueno este ultimo de los msgbox lo hice apurado para qeu vean los resultados, esperao que me respondan rapido xq lo necesito! Gracias y salu2


Sancho.Mazorka