进程不会在 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
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