Ping an Konsole / Eingabeaufforderung übergeben

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

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von elahappy.

    Ping an Konsole / Eingabeaufforderung übergeben

    Hi Zusammen,

    ich bin leider noch blutiger Anfänger in VB + Visual Studio 2013 und muss daher ein paar hoffentlich leicht zu beantwortende Frage stellen.
    Mein Szenario sieht folgender Masen aus:

    Hab eine Windows Forms Anwendung erstellt die für diverse Supportzwecke eingesetzt werden soll.
    Aktuell habe ich folgendes Problem:

    Es soll ein sichtbarer Ping auf einen Client in der Domäne ausgeführt werden. Die Darstellung dessen möchte ich nicht in der eigentlichen Anwendung ausgeben. Eigentlich wollte ich nur bei Bedarf über

    Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click

    Eine Konsole öffnen und mir über “ping hostname –t” diesen anzeigen lassen.

    Mein aktuelles Problem ist die Übergabe der IP oder Client ID. Weder mit einer Variablen noch über eine Textbox konnte ich dies realisieren.
    Verwendet hat ich bisher diesen code: … nur das hier eben nicht der hostname des Clients übergeben wird. Also die Beispiele funktionieren klar, nützen mir aber nichts.

    Shell("cmd /c""ping bender_X -t")
    Shell("cmd /c ""ping 192.168.1.2 -t")

    Hat mir wer einen Tipp wie ich den namen / IP des Clients an die cmd übergeben kann.
    Mit Shell("cmd.exe") / SendKeys.Send oder My.Computer.Network.Ping konnte ich das Problem nicht lösen.

    Gruß Jan
    Wenn du es über die CMD machen willst, dann schau dir mal die Process-Klasse an.
    msdn.microsoft.com/de-de/libra…cs.process(v=vs.110).aspx
    Mit der kannst du alles machen was du brauchst.
    Du kannst Argumente übergeben, in die Console schreiben, bzw auch lesen.
    ... und dir die Eingabeaufforderung komplett schenken. ping.exe ist eine Anwendung die du ohne Probleme selbst starten kannst.

    Quellcode

    1. bla.StartInfo.FileName = "ping.exe"
    2. bla.StartInfo.Arguments = "-t 8.8.8.8"
    3. // bzw.
    4. Process.Start("ping.exe", "-t 8.8.8.8")
    Morgen Zusammen,

    erstmal danke für die schnelle Hilfe.

    Konnte das Problem letztendlich ganz einfach mit ... lösen.

    VB.NET-Quellcode

    1. Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click
    2. Process.Start("ping.exe", TextBox1.Text)
    3. End Sub



    Wünsche noch ein erholsames Wochenende.