C# Process.Start使用UseShellExecute false和RedirectStandardOutput创建窗口

C# Process.Start使用UseShellExecute false和RedirectStandardOutput创建窗口,c#,cmd,process.start,C#,Cmd,Process.start,所以我有一个问题,Process.Start总是显示一个窗口,即使我有属性CreateNoWindow=true,UseShellExecute=false和RedirectStandardOutput=true。在所有的教程和网站上,他们说这是一种方法。那么我错过了什么呢 public static void StartExporter(string part, string path) { var startInfo = new ProcessStartInfo(); sta

所以我有一个问题,
Process.Start
总是显示一个窗口,即使我有属性
CreateNoWindow=true
UseShellExecute=false
RedirectStandardOutput=true
。在所有的教程和网站上,他们说这是一种方法。那么我错过了什么呢

public static void StartExporter(string part, string path)
{
    var startInfo = new ProcessStartInfo();
    startInfo.WindowStyle = ProcessWindowStyle.Hidden;
    startInfo.CreateNoWindow = true;
    startInfo.Verb = "runas";
    startInfo.UseShellExecute = false;
    startInfo.RedirectStandardOutput = true;
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = "/k PartInfoExporter " + part + " " + path;
    var process = Process.Start(startInfo);
    process.WaitForExit();
}

感谢您的帮助

cmd.exe的工作方式非常复杂(根据Raymond Chen的说法,它实际上是一个VM)。为什么不跳过它,直接调用partinfo exporter.exe?

cmd.exe的工作方式非常复杂(根据Raymond Chen的说法,它实际上是一个VM)。为什么不跳过它,直接调用partinfo exporter.exe?

它可能会工作,当然您实际上看不到cmd的控制台窗口。“partinfo exporter.exe”不应该显示窗口,这也是它不知道的,您没有告诉它。你可能不能告诉它,用电话和它的程序员交谈。我是PartInfo Exporter的程序员,不,这个应用程序不显示任何窗口什么样的窗口?控制台(cmd)?是的,它总是显示cmd窗口,但它不应该提供一个不依赖外部组件(即
PartInfo Exporter
)的可复制示例,以便其他人可以尝试复制它?它可能会工作,当然你不会真正看到cmd的控制台窗口。“partinfo exporter.exe”不应该显示窗口,这也是它不知道的,您没有告诉它。你可能不能告诉它,用电话和它的程序员交谈。我是PartInfo Exporter的程序员,不,这个应用程序不显示任何窗口什么样的窗口?控制台(cmd)?是的,它总是显示cmd窗口,但它不应该显示。您可以提供一个不依赖外部组件(即
partinfo exporter
)的可复制示例,以便其他人可以尝试复制它吗?我现在就是这样做的。谢谢,我现在就这么做了。谢谢