如何解决创建流程时隐藏所有子流程
论点
WindowStyle = ProcessWindowStyle.Hidden,CreateNoWindow = true,
仅在第一个创建的进程上工作。例如,如果我们调用一个cmd,又调用另一个cmd,则仅父级将被隐藏。
Process p = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo
{
UseShellExecute = false,WindowStyle = ProcessWindowStyle.Hidden,FileName = @"cmd.exe",Arguments = "/K start cmd"
};
p.StartInfo = startInfo;
p.Start();
是否可以隐藏所有子流程?
解决方法
不。您正在隐藏一个特定的窗口,仅此而已。一个进程可以显示任意数量的窗口,启动新进程也是如此。
如果您可以控制正在运行的脚本,则可以将start
与/B
参数一起使用,这样就可以在不创建新窗口的情况下启动另一个进程-但同样,它是不是“继承”的;您需要将其添加到所有想要避免打开新终端的地方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。