简体   繁体   English

不要关闭控制台(C#)

[英]Dont close console (c#)

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

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

A simple way to achieve that is to simply redirect the standard error. 一种简单的实现方法是简单地重定向标准错误。 This is a simple example. 这是一个简单的例子。

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();
        }
    }
}

More info: msdn for standard error redirection 更多信息: msdn用于标准错误重定向

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM