tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
786
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Babatune Babatune ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    23
    Hallo zusammen,

    ich habe folgende Frage.
    Ich starte folgendermaßen einen Prozess:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    ProcessStartInfo startinfo = new ProcessStartInfo();
    startinfo.FileName = programmpath; //aufruf des Programms 
    startinfo.Arguments = inputpath+" "+outputpath;
    startinfo.WindowStyle = ProcessWindowStyle.Hidden;
    startinfo.CreateNoWindow = false;
    startinfo.UseShellExecute = false;
    try
    {
       using (Process exeProcess = Process.Start(startinfo))
       {
              exeProcess.WaitForExit();
        }
    }

    Es wird eine inputfile bearbeitet und unter outputpath nach der Bearbeitung gespeichert.
    Wenn ich die Ausführung über die Eingabeaufforderung (cmd.exe) mache wird bei evtl. Fehlern dies dort als Text ausgegeben.
    Also wenn das Programm zwar durchläuft mir aber einen Hinweis oder eben Fehler meldet.
    Wie mache ich es dass ich diese Fehler-/Hinweismeldung auch über meine Ausführung in C# erhalte?

    Vielen Dank,
    Babatune
     

  2. #2
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Die Process-Klasse hat ein ErrorDataReceived-Event.
     
    hihi = -h²

  3. #3
    Avatar von VScan
    VScan VScan ist offline Mitglied Gold
    Registriert seit
    Dec 2008
    Ort
    Munich
    Beiträge
    131
    Hey,

    glaube, dass er den StandardError meint...

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    ProcessStartInfo t_pStartInfo = new ProcessStartInfo();
                t_pStartInfo.RedirectStandardError = true;
                // ...anderer Code von Dir...
                try
                {
                    using (Process exeProcess = Process.Start(t_pStartInfo))
                    {
                        exeProcess.WaitForExit();
                        String errorStr = exeProcess.StandardError.ReadToEnd();
                        MessageBox.Show(errorStr);
                    }
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }


    MfG

    Bearbeitung: Naja, eigentlich steht im Link von Shakie alles drin, sry für den Doublepost
    Geändert von VScan (16.03.11 um 13:08 Uhr) Grund: Link von Shakie nicht angeschaut...
     
    „Jeder Fehler erscheint unglaublich dumm, wenn Andere ihn begehen.“
    Georg Christoph Lichtenberg

    Netiquette (vA §15)
    Codetags/Codeboxen
    Sehr gut gelöste Beiträge bitte mit einem "Danke" abschließen, danke :D

  4. #4
    Babatune Babatune ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    23
    danke euch beiden
     

Ähnliche Themen

  1. DOM Manipulation über Refresh hinweg erhalten?
    Von tequila slammer im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 21.06.10, 12:03
  2. Antworten: 6
    Letzter Beitrag: 26.09.06, 11:18
  3. Rückgabe der id bei mysql_query
    Von Transporter im Forum PHP
    Antworten: 3
    Letzter Beitrag: 21.01.06, 18:26
  4. Infos über einen Client erhalten
    Von blubber im Forum PHP
    Antworten: 5
    Letzter Beitrag: 12.02.05, 14:27
  5. Rückgabe von C an PHP
    Von Mairhofer im Forum PHP
    Antworten: 3
    Letzter Beitrag: 23.08.04, 16:25