进程不会在 c# 中最小化

Process won't start minimized in c#

pro.StartInfo.FileName =  @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";

pro.StartInfo.Arguments = a;
pro.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;

pro.Start();

我上面有这段代码,它以最小化方式启动 Firefox。但是 Firefox 实际上并没有开始最小化,而是作为一个正常的 window。我的代码有什么问题?我必须让线程休眠 100 毫秒吗?

试试这个:)

pro.StartInfo.FileName =  @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";

pro.StartInfo.Arguments = a;
pro.UseShellExecute = true;
pro.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;

pro.Start();

因为我认为这只有在 firefox 不是 运行 时才有效。否则它仍会打开 firefox,但不会最小化。如果你想在进程已经启动的情况下最小化你自己的启动 firefox,你将需要按照 here.

所述处理 ShowWindow

在不打开终端的情况下启动进程windows可以这样做:

 ProcessStartInfo pro = new ProcessStartInfo();

 pro.FileName = 'pathToFile'
 pro.RedirectStandardInput = true;
 pro.RedirectStandardOutput = false;
 pro.Arguments = 'some arguments'
 pro.UseShellExecute = false;
 pro.CreateNoWindow = true; // <- imp. line