进程不会在c#中最小化

时间:2015-04-17 09:17:03

标签: c# firefox process

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

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

pro.Start();

我上面的代码启动了Firefox最小化。但Firefox实际上并没有最小化,而是作为普通窗口。我的代码有什么问题?我必须让线程睡眠100毫秒吗?

2 个答案:

答案 0 :(得分:0)

试试这个:)

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

答案 1 :(得分:0)

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

 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