Computername und IP in Listbox anzeigen lassen

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

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Acr0most.

    Computername und IP in Listbox anzeigen lassen

    Morgen,

    ich möchte gerne in einer Listbox den Computernamen und die dazugehörige IP anzeigen lassen.

    Mit diesem Code wird mir der Computernamen angezeigt. Wie kriege ich es hin, das hinter dem Computernamen auch die IP angezeigt wird?

    VB.NET-Quellcode

    1. Private Sub Button_Ping_Click(sender As Object, e As EventArgs) Handles Button_Ping.Click
    2. ListBox1.Items.Clear()
    3. Dim TList As New List(Of String)
    4. TList = GetComputerFromNetwork()
    5. If TList IsNot Nothing Then
    6. For Each items As String In TList
    7. Me.ListBox1.Items.Add(items)
    8. Next
    9. End If
    10. End Sub
    11. Private Function GetComputerFromNetwork() As List(Of String)
    12. Const Argument As String = " view"
    13. Try
    14. Dim TList As New List(Of String)
    15. Dim hProcess As Process = New Process()
    16. With hProcess.StartInfo
    17. .FileName = "net.exe"
    18. .Arguments = Argument
    19. .RedirectStandardOutput = True
    20. .UseShellExecute = False
    21. With hProcess
    22. .Start()
    23. .WaitForExit()
    24. Dim result As String = ""
    25. While .StandardOutput.Peek > -1
    26. result = .StandardOutput.ReadLine()
    27. If result.StartsWith("\\") = True Then
    28. TList.Add(result)
    29. End If
    30. End While
    31. End With
    32. End With
    33. Return TList
    34. Catch ex As Exception
    35. MessageBox.Show(ex.Message.ToString(), "Info - " & MethodBase.GetCurrentMethod().Name())
    36. End Try
    37. Return Nothing
    38. End Function


    Danke euch
    @manni4545 Wo liegt das Problem?
    Bei der Beschaffung der Informationen
    oder
    beim Zusammensetzen zweier IOnformationen zu einer Ausgabezeile?
    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!
    @manni4545 So was:
    Imports System.Net

    VB.NET-Quellcode

    1. Dim Addresslist() As IPAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList
    2. ' alle IP-Adressen auflisten
    3. For Each ip In Addresslist
    4. ListBox1.Items.Add(ip.ToString)
    5. Next ip
    Zur Zuordnung hab ich ewrst mal nichts gefunden.
    Und
    In Deinem Snippet machst Du statt For Each dies:

    VB.NET-Quellcode

    1. Me.ListBox1.Items.AddRange(TList.ToArray())


    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!

    manni4545 schrieb:

    Von lolita-notebook allerdings nicht.
    Wie es aussieht, steckt da doch etwas mehr dahinter.
    Idee:
    Per UDP-Broadcast-Message alle angeschlossenen Listener zu einer Meldung auffordern. Hier müsste man den "Fragestring" ermitteln.
    So ermitteln wir alle Kameras, die am PC via LAN angeschlossen sind.
    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!
    Da er ja das ganze NW durchsucht und jeder Rechner X-IP-Adressen haben kann, sollte er auch für jeden Host die jeweiligen IPs abfragen.

    Sprich mit einer Loop durch die TList kann man diesen Code verwenden.

    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    @Acr0most MAnchmal empfiehlt es sich, die schon geposteten Snippets gegen das eigene zu testen, um festzustellen, ob da das selbe oder was anderes / umfangreicheres rauskommt.
    Der Output Deines Snippets ist identisch mit dem aus Post #4.
    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!

    RodFromGermany schrieb:

    Der Output Deines Snippets ist identisch mit dem aus Post #4.



    Dein Snippet bezieht sich meines Erachtens nur auf den eigentlichen Host und nicht allen PCs im LAN.
    Aus dem Screenshot des TE ist jedoch von 2 PCs die Rede: LOLITA und MANNI.

    Demzufolge muss das Snippet soweit angepasst werden, dass man für verschiedene Rechner die jeweiligen IPs abfragen kann.

    Korrigiere mich wenn ich falsch liege.


    LG Acr0most
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:

    Acr0most schrieb:

    Korrigiere mich ...
    Ich hab hier meinen PC und meinen Laptop dran und den Laptop sehe ich mit beiden Snippets nicht, sondern nur mit dem Code aus Post #1. :/
    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!

    RodFromGermany schrieb:

    sondern nur mit dem Code aus Post #1


    Post #1:

    C#-Quellcode

    1. TList = GetComputerFromNetwork()
    2. If TList IsNot Nothing Then
    3. For Each items As String In TList
    4. //[...]
    5. //Aufruf der Funktion im Post
    6. HoleMirDieIpsVomHost(items);
    7. Next
    8. End If


    HoleMirDieIpsVomHost() = Funktion aus dem Link in meinem Post, hier wird der Hostname übergeben und die IPs für den jeweiligen Host ausgelesen.


    PS: Sollte dies nicht stimmen, liegt das daran, dass ich derzeit keine Möglichkeit zum testen habe. Ich weiß nur, dass ich diesen Code für eine solche Anwendung schon einmal verwendet hatte.
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:
    @Acr0most Da kommt eine SocketException:
    Zusätzliche Informationen: Der angegebene Host ist unbekannt
    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!
    gut, dann bin ich erstmal raus bis ich Testen und vertrauenswürdigere Antworten geben kann. :huh:

    LG
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup: