Like Tree1Danke
  • 1 Beitrag von MCoder
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
1476
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    ParadoxMSL ist offline Rookie
    Registriert seit
    Apr 2012
    Beiträge
    7
    Guten Morgen zusammen,
    ich bin auf der suche nach einer Möglichkeit, die Ausgabe einer .batch in einer Windows Forms Anwendung anzeigen zu lassen. Zudem soll die Möglichkeit bestehen über die Button´s Befehle an die .batch zu senden.

    Das ganze soll wie folgt aussehen.

    [VB.Net] Batch in Windows Forms einbinden-unbenannt.png

    Dort wo der große Panel ist, soll der Inhalt der .batch Datei nachher zu sehen sein.
    Dort wo die beiden kleinen Panel derzeit sind will ich später die CPU last und den RAM verbrauch der .batch anzeigen lassen.

    Ist das möglich so wie ich mir das vorstelle?
    Falls ja, wie setze ich das am besten um.
    Welche Elemente muss ich verwenden, welchen Code muss ich wo benutzen?

    Würde mich freuen wenn mir das einer gut verdaulich präsentieren könnte

    Danke schon einmal im vorraus für euer bemühen.
     

  2. #2
    Avatar von Shakie
    Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.162
     
    http://right2water.eu/de
    Bitte beachtet auch DIN 1302.

  3. #3
    ParadoxMSL ist offline Rookie
    Registriert seit
    Apr 2012
    Beiträge
    7
    Hmm so ganz scheind es momentan nicht zu gehen.

    Er schreibt nur die erste zeile in die ListBox
    Dannach bleibt er einfach stehen.

    Normal sollte eine Auflistung stattfinden was die .jar datei die mit der .batch aufgerufen wird grade macht.

    So sieht es derzeit aus

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
            Dim args() As String = Environment.GetCommandLineArgs()
            ' This is the code for the base process
                Dim myProcess As New Process()
                ' Start a new instance of this program but specify the 'spawned' version.
                Dim myProcessStartInfo As New ProcessStartInfo(args(0), "spawn")
                myProcessStartInfo.FileName = "Server-1-Starten.bat"
                myProcessStartInfo.UseShellExecute = False
                myProcessStartInfo.RedirectStandardOutput = True
                myProcess.StartInfo = myProcessStartInfo
                myProcess.Start()
     
                Dim myStreamReader As StreamReader = myProcess.StandardOutput
                ' Read the standard output of the spawned process.
                Dim myString As String = myStreamReader.ReadLine()
     
     
                LstA.Items.Add(myString)
     
                myProcess.WaitForExit()
                myProcess.Close

    Irgentwas mach ich wohl falsch... Kann mir da einer behilflich sein?
     

  4. #4
    Avatar von Shakie
    Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.162
    Du ließt auch nur die erste Zeile. Du musst natürlich alle Zeilen lesen... Genügt es, wenn die Ausgabe erst nach Beendigung des Batch-Jobs erscheint oder soll die Ausgabe zeitlich synchron mit dem Batch-Job ausgegeben werden?
     
    http://right2water.eu/de
    Bitte beachtet auch DIN 1302.

  5. #5
    ParadoxMSL ist offline Rookie
    Registriert seit
    Apr 2012
    Beiträge
    7
    Muss zeitlich synchron mit dem Batch-Job sein.
    Also der Batch ruft eine .jar auf diese .jar gibt an den Batch-Job eine ausgabe weiter die die Console anzeigt.

    Normal sieht die Console so aus:

    [VB.Net] Batch in Windows Forms einbinden-1.png

    Dort wird dann der Fortschritt ausgegeben. Das sollte also schon synchron sein.

    Dann noch folgendes:

    [VB.Net] Batch in Windows Forms einbinden-2.png

    Unswar kann man wenn die spawn area fertig geladen hat Befehle eingeben z.B. op paradox
    Das wollte ich gern auch über die Windows Forms machen können.

    Möchte also eine Consolen Abstraktion erschaffen
     

  6. #6
    Avatar von Shakie
    Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.162
    Dann musst du in zeitlichen Abständen den OutputStream auf neuen Text überprüfen und dann ggf. ausgeben.
     
    http://right2water.eu/de
    Bitte beachtet auch DIN 1302.

  7. #7
    ParadoxMSL ist offline Rookie
    Registriert seit
    Apr 2012
    Beiträge
    7
    Wie mache ich das am besten?
    Hast du da ein beispiel?
     

  8. #8
    ParadoxMSL ist offline Rookie
    Registriert seit
    Apr 2012
    Beiträge
    7
    Habe mich jetzt einige male daran versucht doch irgentwas mache ich immer Falsch. Er gibt mir soabld ich eine schleife einbaue garnichtsmehr aus und rennt sich zu tode... Kann mir vieleicht einer ein Beispiel geben?
     

  9. #9
    MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.561
    Hallo ParadoxMSL,

    mit einer Schleife wird's recht umständlich, weil die in einem eigenen Thread laufen müsste, um den Hauptprozess nicht zu blockieren.

    Nutze doch die Möglichenkeiten der Process-Klasse, und lasse dich per Event benachrichtigen, wenn etwas in die Standardausgabe geschrieben wurde. Das Ereignis heißt OutputDataReceived und ein Beispiel findest du in der MSDN-Dokumentation zu diesem Ereignis: http://msdn.microsoft.com/de-de/libr...areceived.aspx

    Gruß
    MCoder
    Shakie bedankt sich. 
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

Thema nicht erledigt

Ähnliche Themen

  1. Antworten: 20
    Letzter Beitrag: 06.09.10, 14:31
  2. [c#]windows forms tut?
    Von davfighter im Forum .NET Windows Forms
    Antworten: 9
    Letzter Beitrag: 14.11.07, 12:07
  3. Windows Forms
    Von m-a-g im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 25.09.07, 11:34
  4. C# : Windows Forms
    Von MSuter im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 23.09.03, 10:02
  5. [C++] & Windows Forms
    Von Mr.Undertaker im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 24.10.02, 20:53

Stichworte