Announcement

Collapse
No announcement yet.

Konsole auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Konsole auslesen

    Hallo!

    Ich möchte gerne eine Windows Forms-Anwendung schreiben in der ich einen Befehl zb ipconfig in der Konsole aufrufen kann schreiben.
    Weiters möchte dann eine Variable in der Anwendung mit den Ergebnis zb. IP-Adresse belegen!
    Kann mir jemand sagen wie dies funktionieren könnte??

    Danke im Voraus!

  • #2
    Hallo,

    andere Prozesse (Programme) können mit der Klasse Process gestartet werden.

    zB
    [highlight=vbnet]
    Dim proc As New Process()
    proc.StartInfo.FileName = "ipconfig"
    proc.StartInfo.Arguments = "-all"
    proc.Start()
    [/highlight]

    Wie das für dein konkretes Problem geht muss in der Doku zu ipconfig gelesen werden und entsprechend die Argumente gesetzt werden.

    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Hallo,
      danke für die Antwort!

      Der Befehl ipconfig sollte nur ein Beispiel sein!
      Ich will eigendlich dann etwas auslesen bzw. eine variable belegen.
      z.B.: die zweite Zeile des Ergebnisses in eine Variable schreiben!

      mfG

      Comment


      • #4
        Wenn der Prozess keinen Rückgabewert hat kann die Ausgabe in einen String gelesen werden und dieser String kann dann weiterverarbeitet werden.

        Beispiel zum Umleiten der Ausgabe des Prozesses in einen String:
        [highlight=vbnet]
        Imports System
        Imports System.Diagnostics

        Namespace ConsoleApplication1
        Class Program
        Private Shared Sub Main()
        Using proc As New Process()
        proc.StartInfo.FileName = "ipconfig"
        proc.StartInfo.Arguments = "-all"

        ' Umleiten der Ausgabe:
        proc.StartInfo.UseShellExecute = False
        proc.StartInfo.RedirectStandardOutput = True

        ' Prozess starten:
        proc.Start()

        ' Ausgabe einlesen:
        Dim output As String = proc.StandardOutput.ReadToEnd()

        ' Demo-Ausgabe:
        Console.WriteLine(output)
        Console.ReadKey()
        End Using
        End Sub
        End Class
        End Namespace
        [/highlight]

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Hallo,

          danke genau sowas habe ich gesucht!

          MFG

          Comment

          Working...
          X