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:
'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:
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