Programm via Stdin > example.js Starten

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Mono.

    Programm via Stdin > example.js Starten

    Hallo Zusammen,

    folgende Problemstellung:

    Ich habe ein Program gekauft welches nach einem Doppelklick eine einfache Kommandozeilen oberfläche öffnet.
    Das Program stellt quasi eine Schnittstelle zu verschiedenen Paketdienstleistern da. -> Abholaufträge übermitteln oder Etiketten für z.B. UPS erzeugen.

    Das Programm Arbeitet laut offizieller Beschreibung so:

    RocketShipIt is a simple executable that takes JSON in via stdin and returns JSON via stdout. This means you can do:

    `./RocketShipIt < my-ups-request.json`

    Wenn ich also hingehe und via "cmd" folgendes eingebe (CMD und Programm selber sind im gleichen Ordner):

    RocketShipIt < example.js

    Arbeitet das Program sauber und gibt mir erfolgreich Daten innerhalb der Console zurück. Im Beispiel würde ich als Rückmeldung z.B. den Aktuellen Trackingstatus etc. zurück bekommen.

    Wenn ich aber versuche das Program aus VB2010 heraus mit Daten zu füllen, passiert einfach garnichts. (Direkt aufrufen der Program.exe und da irgendetwas eingeben funktioniert übrigens auch nicht).

    Könnt ihr euch vielleicht vorstellen, was ich aktuell falsch mache?

    Hier mein aktueller Code:

    Visual Basic-Quellcode

    1. Dim soutput As String
    2. Dim ConsoleProcess As New System.Diagnostics.Process()
    3. ConsoleProcess.StartInfo.FileName =
    4. "D:\Programmieren\VB-Projekte\RocketShipIt\RocketShipIt\bin\Release\Json\RocketShipIt.exe"
    5. ConsoleProcess.StartInfo.CreateNoWindow = False
    6. ConsoleProcess.StartInfo.RedirectStandardOutput = True
    7. ConsoleProcess.StartInfo.RedirectStandardInput = True
    8. ConsoleProcess.StartInfo.RedirectStandardError = True
    9. ConsoleProcess.StartInfo.UseShellExecute = False
    10. ConsoleProcess.Start()
    11. Dim stdin As System.IO.StreamWriter = ConsoleProcess.StandardInput
    12. stdin.AutoFlush = True
    13. Dim stdout As System.IO.StreamReader = ConsoleProcess.StandardOutput
    14. Dim stderr As System.IO.StreamReader = ConsoleProcess.StandardError
    15. stdin.WriteLine("< 122.js")
    16. stdin.WriteLine("Exit")
    17. soutput = stdout.ReadToEnd
    18. stdin.Close()
    19. stdout.Close()
    20. stderr.Close()
    21. ConsoleProcess.WaitForExit()
    22. MsgBox(soutput)


    Vielen Dank für eure Hilfe!

    Ich hampel da jetzt schon seit 2 Tagen dran rum und google bringt mich leider auch nicht weiter. Habe schon unzählige Methoden versucht :(