当前位置: 首页 > 编程语言 > C#

无法向cmd.exe进程发送命令分享

时间:2023-04-10 14:09:43 C#

无法向cmd.exe进程发送命令但它似乎没有发送任何命令。首先,我使用全局变量p(Processp)打开一个进程。p=newProcess(){StartInfo={CreateNoWindow=true,UseShellExecute=false,RedirectStandardError=true,RedirectStandardInput=true,RedirectStandardOutput=true,FileName=@"cmd.exe",Arguments="/C"//空白参数}};p.开始();p.WaitForExit();之后,我尝试使用一种将结果记录在文本框中的简单方法来发送命令。privatevoidruncmd(stringcommand){p.StandardInput.WriteLine(command);varoutput=p.StandardOutput.ReadToEnd();TextBox1.Text=输出;现在我用DIR测试它,但是var输出显示为null,这导致没有输出。有没有更好的方法将命令发送到打开的cmd.exe进程?我从来没有能够在不关闭stdin的情况下使用stdout的同步读取,但它确实可以与stdout/stderr的异步读取一起使用。不需要传入/c,只有在通过参数传递命令时才这样做;你不这样做,你直接将命令发送到输入。以上就是C#学习教程的全部内容:无法向cmd.exe进程发送命令。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——varp=newProcess(){StartInfo={CreateNoWindow=false,UseShellExecute=false,RedirectStandardError=true,RedirectStandardInput=是的,RedirectStandardOutput=true,文件名=@"cmd.exe"}};p.OutputDataReceived+=(sender,args1)=>Console.WriteLine(args1.Data);p.ErrorDataReceived+=(sender,args1)=>Console.WriteLine(args1.Data);p.开始();p.BeginOutputReadLine();p.StandardInput.WriteLine("dir");p.StandardInput.WriteLine("cde:");p.WaitForExit();Console.WriteLine("完成");本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: