日期:2014-05-17  浏览次数:22705 次

C#调用一个cmd进行telnet,命令行窗口闪退
想用C#调用命令行窗口进行telnet,telent一个无线路由器,想达到停留在输入路由器用户名和密码的界面的效果

以下是我的程序,执行之后总是出现一个窗口就闪退了,请问我的程序该如何修改,或是还有什么别的做法可以达到我想要的效果,谢谢!


Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.Arguments = " /K";
            //p.StartInfo.RedirectStandardOutput = true;
            //p.StartInfo.RedirectStandardError = true;
            p.Start();

            p.StandardInput.WriteLine("telnet 192.168.0.1");
            p.StandardInput.Close();

            p.WaitForExit();
            p.Close();

------解决方案--------------------
用pause不行,这个可以
System.Diagnostics.Process cmd = new System.Diagnostics.Process();
            cmd.StartInfo.FileName = "cmd.exe";
            cmd.StartInfo.Arguments = "/k telnet 192.168.0.1";
            cmd.StartInfo.CreateNoWindow = false;
            cmd.Start();
            cmd.WaitForExit();
            cmd.Close();