protected virtual void ReadStdOut()
{
string str;
while ((str = process.StandardOutput.ReadLine()) != null)
{
FireAsync(StdOutReceived, this, new DataReceivedEventArgs("S", str));
Thread.Sleep(1); // sleep
}
FireAsync(StdOutReceived, this, new DataReceivedEventArgs("S", null));
}