Imports System.Net.NetworkInformation
Public Class Form1
    Dim Подключение As NetworkInterface
    Dim Конфигурация As NetworkInterface()
    Dim Статистика As IPv4InterfaceStatistics
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Получаем все подключения
        Конфигурация = NetworkInterface.GetAllNetworkInterfaces()
        ' Показываем активное подключение
        Label1.Text = "Текущее подключение : " & Конфигурация(0).Name
        GroupBox1.Text = Конфигурация(0).Name
        ' Работаем с активным подключением
        Подключение = Конфигурация(0)
        ' Скорость
        Label2.Text = "Скорость : " & (Val(Подключение.Speed.ToString()) / Val(1000000)) & " Мбит/с" ' Скорость в Мб/с
        Timer1.Start()
    End Sub
    Dim Принято As Double = 0
    Dim Передано As Double = 0
    Dim ВесьТрафик As Double = 0
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ' Статистика для нашего подключения(IPV4)
        Статистика = Подключение.GetIPv4Statistics()
        ' Вычисляем скорость передачи
        Dim СкоростьПередачи As Integer
        СкоростьПередачи = CInt((Math.Truncate(Статистика.BytesSent - Double.Parse(Label8.Text))) \ 100)
        ' Вычисляем скорость приема
        Dim СкоростьПриема As Integer
        СкоростьПриема = CInt((Math.Truncate(Статистика.BytesReceived - Double.Parse(Label9.Text))) \ 100)
        ' Значения в байтах
        Label8.Text = Статистика.BytesSent.ToString()
        Label9.Text = Статистика.BytesReceived.ToString()
        ' Принято Мб
        Принято = (((Val(Статистика.BytesReceived.ToString()) / Val(1024))) / Val(1024))
        ' Делаем божеский вид
        Dim Разбиваем() As Char = {","c}
        Dim Количество() As String
        Количество = Принято.ToString.Split(Разбиваем)
        Dim Остаток As String
        Остаток = (Количество(1).Substring(0, 1))
        Принято = Количество(0) & "," & Остаток
        ' Выводим
        Label5.Text = "Принято : " & Принято & " Мб"
        ' Отдано Мб
        Передано = (((Val(Статистика.BytesSent.ToString()) / Val(1024))) / Val(1024))
        ' Делаем божеский вид
        Dim Разбиваем1() As Char = {","c}
        Dim Количество1() As String
        Количество1 = Передано.ToString.Split(Разбиваем1)
        Dim Остаток1 As String
        Остаток1 = (Количество1(1).Substring(0, 1))
        Передано = Количество1(0) & "," & Остаток1
        ' Выводим
        Label6.Text = "Передано : " & Передано & " Мб"
        ' Весь трафик
        ВесьТрафик = Val(Принято) + Val(Передано)
        Label3.Text = "Весь трафик : " & ВесьТрафик & " Мб"
        ' Скорость передачи
        Label4.Text = "Скорость передачи : " & СкоростьПередачи.ToString() & " Кбит/с"
        ' Скорость передачи
        Label7.Text = "Скорость приема : " & СкоростьПриема.ToString() & " Кбит/с"
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub
End Class
