我正在尝试使用System.Diagnostics.Process类在远程计算机上创建进程。
我能够创建一个进程。但问题是,创建服务需要很长时间并显示控制台窗口。
另一件令人恼火的事情是,控制台窗口显示在我的Windows窗体的顶部,我无法对该窗体进行任何其他操作。
我已经设置了所有属性,例如CreateNoWindow = true
,
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
但仍然会显示控制台窗口,即使我已经将输出和错误重定向到不同的流中,但没有成功。
是否有其他方法可以隐藏控制台窗口?请帮帮我。
这是我用来执行sc命令的代码部分。
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.FileName = "sc";
proc.StartInfo.Arguments = string.Format(@"\\SYS25 create MySvc binPath= C:\mysvc.exe");
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
proc.StartInfo.RedirectedStandardOutput = true
吗?我曾经在 Windows 应用程序中成功使用过。 - poyUseShellExecute
和CreateNoWindow
? - Mike Lowery