我弄清楚如何启动一个进程。但我现在的问题是控制台窗口(在本例中为 7z)会在最前面弹出,阻挡我的视线并消除我的焦点,打断我的句子或每隔几秒钟我正在做的事情。这非常烦人,我该如何防止这种情况发生。我以为 CreateNoWindow 可以解决这个问题,但事实并非如此。
注意:有时控制台需要用户输入(是否替换文件)。因此,完全隐藏它可能是一个问题。
这是我当前的代码。
void doSomething(...)
{
myProcess.StartInfo.FileName = ...;
myProcess.StartInfo.Arguments = ...;
myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.WaitForExit();
}
如果我没记错的话,这对我有用
Process process = new Process();
// Stop the process from opening a new window
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
// Setup executable and parameters
process.StartInfo.FileName = @"c:\test.exe"
process.StartInfo.Arguments = "--test";
// Go
process.Start();
我一直在 C# 控制台应用程序中使用它来启动另一个进程,它会阻止应用程序在单独的窗口中启动它,而是将所有内容都保留在同一窗口中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)