问题描述
我想用下面的代码实现打开CMD窗口并执行命令的功能,但cmd窗口始终无法打开。在“output”里出现下面的信息:“Theprogram'[10124]ConsoleApplication1.vshost.exe:Managed(v4.0.30319)'hasexitedwithcode0(0x0).Theprogram'[10124]ConsoleApplication1.vshost.exe:ProgramTrace'hasexitedwithcode0(0x0).”ProcessmyProcess=newProcess();myProcess.StartInfo.FileName=@"C:WINDOWSsystem32cmd.exe";myProcess.StartInfo.WindowStyle=System.Diagnostics.ProcessWindowStyle.Normal;myProcess.StartInfo.UseShellExecute=false;myProcess.StartInfo.RedirectStandardInput=true;myProcess.StartInfo.RedirectStandardOutput=true;myProcess.StartInfo.RedirectStandardError=true;myProcess.Start();求教?多谢了
解决方案
解决方案二:
p.StartInfo.CreateNoWindow=false;p.Start();p.StandardInput.WriteLine("exit");//exit是要执行的命令自己输入好像实现不了除了向notepad的应用程序stringstrRtn=p.StandardOutput.ReadToEnd();
解决方案三:
给你个用cmd获取局域网所有人ip的方法Processp=newProcess();p.StartInfo.FileName="cmd.exe";p.StartInfo.UseShellExecute=false;p.StartInfo.RedirectStandardInput=true;p.StartInfo.RedirectStandardOutput=true;p.StartInfo.RedirectStandardError=true;p.StartInfo.CreateNoWindow=true;p.Start();p.StandardInput.WriteLine("arp-a");p.StandardInput.WriteLine("exit");ArrayListlist=newArrayList();StreamReaderreader=p.StandardOutput;