不要关闭控制台(c#)

时间:2015-10-05 13:49:16

标签: c#

System.Diagnostics.Process.Start("rasdial.exe", "sdsss" "aa" "bb");

该过程启动新控制台并尝试运行ras,但是在连接时 失败它关闭 - 如何将控制台保持在屏幕上?

1 个答案:

答案 0 :(得分:0)

实现这一目标的一种简单方法是简单地重定向标准错误。 这是一个简单的例子。

namespace AnswerOne
{
    class Program
    {
        static void Main(string[] args)
        {
            //we use a prosessstartinfo 
            System.Diagnostics.ProcessStartInfo procInfo = new System.Diagnostics.ProcessStartInfo("rasdial.exe");
            procInfo.RedirectStandardError = true;
            //must be false
            procInfo.UseShellExecute = false;
            var process = new System.Diagnostics.Process();
            process.StartInfo = procInfo;
            process.Start();
            process.WaitForExit();

            string error = process.StandardError.ReadToEnd();
            //check if there is any error
            if (string.IsNullOrEmpty(error))
            {
                System.Console.WriteLine(error);
            }
            System.Console.WriteLine("Press any key to close");
            System.Console.ReadLine();
        }
    }
}

更多信息:msdn for standard error redirection