Autor Beitrag
Skiller-1988
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 100

Win XP | Debian | Ubuntu
C# | PHP | VB.NET
BeitragVerfasst: Di 09.09.08 08:54 
Hi,
mein Problem ist das ich einen Konsolenbefehl der im Hintergrund laufen soll "verarbeiten" will und zwar in der form das dass Ergebniss z.B. von einen Pingbefehl in der Textbox ausgegeben werden soll.
Mein Problem ist, dass ich das mit der Ausgabe nicht hinbekomme.

meine kläglichen Versuche:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
            
            Process p = new Process();
            p.StartInfo.FileName="ping";
            p.StartInfo.Arguments="127.0.0.1";
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            textBox1.Text = p.StandardOutput.ReadToEnd();

_________________
~ Wer Rechtschreibfehler findet darf sie behalten ~
Skiller-1988 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 100

Win XP | Debian | Ubuntu
C# | PHP | VB.NET
BeitragVerfasst: Mi 10.09.08 12:25 
hat den keine eine Lösung bzw. Idee zu meinen Problem?

_________________
~ Wer Rechtschreibfehler findet darf sie behalten ~
Peter Enz
Hält's aus hier
Beiträge: 13

WinNT WinXP Vista
C#, Delphi,Javascript (VS2005/8, Delphi6/2005)
BeitragVerfasst: Mi 10.09.08 13:06 
user profile iconSkiller-1988 hat folgendes geschrieben:
hat den keine eine Lösung bzw. Idee zu meinen Problem?


Doch:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
    
   private void button1_Click(object sender, EventArgs e)
   {
      Process p = new Process();
      p.StartInfo.UseShellExecute = false;
      p.StartInfo.RedirectStandardOutput = true;
      p.StartInfo.FileName = "ping";
      p.StartInfo.Arguments = "192.168.0.254";
      p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
      p.Start();
      p.BeginOutputReadLine();
    }

    void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
    {
      if (e.Data == null)
      {
        return;
      }
      if (listBox1.InvokeRequired)
      {
        listBox1.Invoke(
          (MethodInvoker)delegate()
          {
            listBox1.Items.Add(e.Data.ToString());
        });
      }
      else
      {
        listBox1.Items.Add(e.Data.ToString());
      }
    }
  }


In der Hilfe zu Process.BeginOutputReadLine findest Du eigentlich alles.

Gruß
Peter
Skiller-1988 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 100

Win XP | Debian | Ubuntu
C# | PHP | VB.NET
BeitragVerfasst: Mi 10.09.08 14:14 
Danke das war genau was ich wollte. :zustimm:

_________________
~ Wer Rechtschreibfehler findet darf sie behalten ~