Netzwerkauslastung mit Progressbar anzeigen lassen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von xX-Nick-Xx.

    Netzwerkauslastung mit Progressbar anzeigen lassen

    Guten morgen zusammen... ich sitze schon seit 3 uhr an einer Lösung und hoffe hier hat jemand eine :D

    Und zwar möchte ich mit den Performance Counter und der Progressbar die Netzwerkauslastung Für mein Programm anzeigen lassen....

    Auf Mr Google habe ich nichts nützliches gefunden Evt hat hier jemand eine Idee?!

    Danke im vorraus
    Mfg Nick :?: :!:

    Sofern dir der Performancecounter was liefert, musst du eigentlich nur noch den MaxValue deiner Progressbar festlegen (10 Mbps) und dann regelmäßig den counter "pollen" (=abfragen) und halt wert setzten.

    schau mal auf mysharp.de vorbei: mycsharp.de/wbb2/thread.php?postid=320332
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Wenn es darum geht, nur den Traffic anzeigen zu lassen, der von Deinem Programm verursacht wird, wird es schwer. .NET liefert hier keine Boardmittel.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Ok Danke dafür :D Nur bekomm ich nun Haufen fehler...


    VB.NET-Quellcode

    1. Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
    2. BC30260 "auslastung" wurde bereits als "Private Shared auslastung As String" in dieser class deklariert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 99 Aktiv
    3. BC30260 "auslastung" wurde bereits als "Private Shared auslastung As String" in dieser class deklariert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 240 Aktiv
    4. BC30451 "i" wurde nicht deklariert. Aufgrund der Schutzstufe ist unter Umständen kein Zugriff möglich. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 252 Aktiv
    5. BC30451 "i" wurde nicht deklariert. Aufgrund der Schutzstufe ist unter Umständen kein Zugriff möglich. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 255 Aktiv
    6. BC30451 "i" wurde nicht deklariert. Aufgrund der Schutzstufe ist unter Umständen kein Zugriff möglich. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 259 Aktiv
    7. BC30451 "i" wurde nicht deklariert. Aufgrund der Schutzstufe ist unter Umständen kein Zugriff möglich. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 264 Aktiv
    8. BC30451 "NetworkInterface" wurde nicht deklariert. Aufgrund der Schutzstufe ist unter Umständen kein Zugriff möglich. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 247 Aktiv
    9. BC30451 "OperationalStatus" wurde nicht deklariert. Aufgrund der Schutzstufe ist unter Umständen kein Zugriff möglich. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 249 Aktiv
    10. BC31429 "Perfc" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 269 Aktiv
    11. BC31429 "Perfc" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 280 Aktiv
    12. BC30260 "Perfc" wurde bereits als "Private Shared Perfc As PerformanceCounter" in dieser class deklariert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 242 Aktiv
    13. BC32022 "Public Event Elapsed As ElapsedEventHandler" ist ein Ereignis und kann nicht direkt aufgerufen werden. Verwenden Sie eine RaiseEvent-Anweisung, um ein Ereignis aufzurufen. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 272 Aktiv
    14. BC31429 "sCountName" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 267 Aktiv
    15. BC31429 "sCountName" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 269 Aktiv
    16. BC30260 "sCountName" wurde bereits als "Private Shared sCountName As String" in dieser class deklariert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 240 Aktiv
    17. BC31429 "sInstName" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 268 Aktiv
    18. BC31429 "sInstName" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 269 Aktiv
    19. BC30260 "sInstName" wurde bereits als "Private Shared sInstName As String" in dieser class deklariert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 240 Aktiv
    20. BC31429 "sKatName" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 266 Aktiv
    21. BC31429 "sKatName" ist mehrdeutig, da in class "Form1" mehrere Arten von Membern mit diesem Namen vorhanden sind. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 269 Aktiv
    22. BC30260 "sKatName" wurde bereits als "Private Shared sKatName As String" in dieser class deklariert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 240 Aktiv
    23. BC30002 Der Typ "NetworkInterface" ist nicht definiert. SimuRadio 1.0 C:\Users\nico9\Desktop\SimuBrowserNEW\SimuRadio 1.0\SimuRadio 1.0\Form1.vb 247 Aktiv

    @xX-Nick-Xx Poste mal Deinen Code, am besten, die ganze Klasse.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hier der Benutzte Code:

    VB.NET-Quellcode

    1. Shared adress As String, sKatName As String, sInstName As String, sCountName As String, auslastung As String
    2. Shared networkspeed As Single
    3. Shared Perfc As PerformanceCounter
    4. Private Shared Sub Main(args As String())
    5. For Each ointerface As NetworkInterface In NetworkInterface.GetAllNetworkInterfaces()
    6. adress = ointerface.Description
    7. If Not adress.Contains("TCP") AndAlso ointerface.OperationalStatus = OperationalStatus.Up Then
    8. networkspeed = ointerface.Speed
    9. Console.WriteLine("Netzwerkkartenname: " & adress & ", Status: " & ointerface.OperationalStatus.ToString())
    10. i += 1
    11. End If
    12. Next
    13. If i > 1 Then
    14. Console.WriteLine("Dieses Progamm ist nicht für mehr als eine Netzwerkkarte ausgelegt.")
    15. Console.WriteLine("Drücken Sie eine beliebige Taste um zu Beenden.")
    16. Console.ReadLine()
    17. ElseIf i <= 0 Then
    18. Console.WriteLine("Es wurde keine aktive Netzwerkverbindung gefunden.")
    19. Console.WriteLine("Drücken Sie eine beliebige Taste um zu Beenden.")
    20. Console.ReadLine()
    21. Else
    22. Console.WriteLine(i & " Netzwerkkarte(n) gefunden.")
    23. Console.WriteLine("Lade Diagnostic - Objekte.")
    24. sKatName = "Netzwerkschnittstelle"
    25. sCountName = "Empfangene Bytes/s"
    26. sInstName = adress
    27. Perfc = New PerformanceCounter(sKatName, sCountName, sInstName)
    28. Dim tm As New Timer()
    29. tm.Interval = 1000
    30. tm.Elapsed += New ElapsedEventHandler(AddressOf tm_Elapsed)
    31. tm.Start()
    32. Console.WriteLine("Timer gestartet.")
    33. Console.ReadLine()
    34. End If
    35. End Sub
    36. Private Shared Sub tm_Elapsed(sender As Object, e As ElapsedEventArgs)
    37. Dim usage As Single = Perfc.NextValue()
    38. Dim percent As Single
    39. percent = usage / (networkspeed / 100)
    40. Console.WriteLine(percent & " %")
    41. Console.ReadLine()
    42. End Sub


    Was mir bei dem Code aufgefallen ist... er Benutzt nicht Progressbar1

    @xX-Nick-Xx Mach aus der Console eine WinForms-Anwendung und lass Dir das ganze über einen Timer anzeigen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!