我有一个需要隐藏的过程,我尝试了以下几行代码来隐藏它:
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.CreateNoWindow = true;
第一行只是不会使它不可见而第二行会引发以下错误:
" {" StandardOut尚未重定向或流程尚未启动。"}
此外,我需要将输出重定向到richtextbox和剪贴板,因此我无法将redirectstandardoutput设置为false。 这是我创建过程的功能。
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = pingData;
p.Start();
p.WaitForExit();
string result = p.StandardOutput.ReadToEnd();
System.Windows.Forms.Clipboard.SetText(result);
if(p.HasExited)
{
richTextBox1.Text = result;
outPut = result;
MessageBox.Show( "Ping request has completed. \n Results have been copied to the clipboard.");
}
由于
答案 0 :(得分:1)
删除以下行:
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
保留这两行:
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
WindowStyle
仅适用于本机Windows GUI应用程序。