protected virtual void ReadStdErr()
{
string str;
while ((str = process.StandardError.ReadLine()) != null)
{
FireAsync(StdErrReceived, this, new DataReceivedEventArgs("E", str));
Thread.Sleep(1); // sleep
}
FireAsync(StdErrReceived, this, new DataReceivedEventArgs("E", null));
}