Слежение за трафиком

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
transfusion
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 13.05.2005 (Пт) 19:40

Слежение за трафиком

Сообщение transfusion » 13.05.2005 (Пт) 19:55

Как в VB6 можно организовать слежение за интернет трафиком? (Время в инете, отправленные байты, принятые байты).

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 13.05.2005 (Пт) 20:13

Поставить сервер, а к нему подключиться через винсок
На это не смотрите! Это не подпись!!!!!!

transfusion
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 13.05.2005 (Пт) 19:40

Сообщение transfusion » 14.05.2005 (Сб) 12:25

А по-проще организовать нельзя? Может какая апишная функция есть?

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 14.05.2005 (Сб) 13:15

Есть! RasGetConnectionStatistics вот пример:

Код: Выделить всё
Private Declare Function RasEnumConnections Lib "rasapi32" Alias "RasEnumConnectionsA" (ByVal lprasconn As Long, ByVal lpcb As Long, ByVal lpcConnections As Long) As Long
Private Declare Function RasGetConnectionStatistics Lib "rasapi32" (ByVal hRasConn As Long, ByVal lpStatistics As Long) As Long
Private 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
Private 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

Private Sub Form_Load()
Me.Show
    Dim conn As RASCONN
    Dim stat As RAS_STATS
    Dim y As Long, z As Long
       
    conn.dwSize = Len(conn)
    y = conn.dwSize
   
   
    If RasEnumConnections(VarPtr(conn), VarPtr(y), VarPtr(z)) = 0 Then
        stat.dwSize = Len(stat)
        If RasGetConnectionStatistics(conn.hRasConn, VarPtr(stat)) = 0 Then
            Print "Скорость: " & stat.dwBps
            Print "Принято: " & stat.dwBytesRcved
            Print "Отправлено :" & stat.dwBytesXmited
            Print "Сжатие (принято): " & stat.dwCompressionRatioIn
            Print "Сжатие (послено): " & stat.dwCompressionRatioOut
            Print "Время: " & stat.dwConnectDuration
            Print stat.dwBufferOverrunErr
            Print stat.dwAlignmentErr
            Print stat.dwCrcErr
            Print stat.dwFramesRcved
            Print stat.dwFramesXmited
            Print stat.dwFramingErr
            Print stat.dwTimeoutErr
        End If
    End If
   
End Sub
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

transfusion
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 13.05.2005 (Пт) 19:40

Сообщение transfusion » 14.05.2005 (Сб) 13:47

Jenizix
Спасибо

Может теперь кто подскажет, как окна полупрозрачные делать?

Jenizix
Географ
Географ
Аватара пользователя
 
Сообщения: 545
Зарегистрирован: 20.04.2004 (Вт) 20:52
Откуда: Москва

Сообщение Jenizix » 14.05.2005 (Сб) 14:13

Вот так:
Код: Выделить всё
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Const SW_SHOW = 5
Private Const GWL_EXSTYLE = -20
Private Const WS_EX_LAYERED = &H80000
Private Const WS_EX_TRANSPARENT = &H20&
Private Const LWA_ALPHA = &H2&

Private Sub Form_Load()
    Dim procent as Integer
    procent = 80 ' 80 процентов

    NormalWindowStyle = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
    SetWindowLong Me.hWnd, GWL_EXSTYLE, NormalWindowStyle Or WS_EX_LAYERED
    SetLayeredWindowAttributes Me.hWnd, 0, 255, LWA_ALPHA

    Transparency = (255 * procent) / 100
    SetLayeredWindowAttributes Me.hWnd, 0, Transparency, LWA_ALPHA
   
End Sub


В win98 не работает...
Ушел в себя, вернусь не скоро...

Если вам нужно сделать прозрачной только форму, а контролы на ней нет, то вам сюда!!!

transfusion
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 13.05.2005 (Пт) 19:40

Сообщение transfusion » 14.05.2005 (Сб) 19:49

Jenizix
Спасибо!

Тему можна закрыть

transfusion
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 13.05.2005 (Пт) 19:40

Сообщение transfusion » 15.05.2005 (Вс) 20:46

Неее. Тему рано еще закрывать.

А если я подключен к интернету через локалку. Как тогда это сделать?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 15.05.2005 (Вс) 21:59

-sniffer
-счётчик NT на кажое подключение
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

transfusion
Начинающий
Начинающий
 
Сообщения: 9
Зарегистрирован: 13.05.2005 (Пт) 19:40

Сообщение transfusion » 17.05.2005 (Вт) 13:33

А подробнее можно? Как это сделать?

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 17.05.2005 (Вт) 17:56

А у меня не работает, т.к.
RasGetConnectionStatistics(conn.hRasConn, VarPtr(stat)) = 0
Что делать????? :roll: [/quote]
На это не смотрите! Это не подпись!!!!!!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 157

    TopList