我似乎无法在Google或StackOverflow上找到答案。
如何在后台启动进程(在活动窗口后面)?比如,当进程启动时,它不会中断用户正在使用的当前应用程序。
该过程不会在当前应用程序前弹出,它只会启动。
这就是我正在使用的:
Process.Start(Chrome.exe);
Chrome在应用程序启动时会弹出。如何让它在后台启动?
我也试过了:
psi = new ProcessStartInfo ("Chrome.exe");
psi.UseShellExecute = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(psi);
但与前一个完全没有区别。
感谢。
答案 0 :(得分:18)
试试这个:
Process p = new Process();
p.StartInfo = new ProcessStartInfo("Chrome.exe");
p.StartInfo.WorkingDirectory = @"C:\Program Files\Chrome";
p.StartInfo.CreateNoWindow = true;
p.Start();
此外,如果这不起作用,请尝试添加
p.StartInfo.UseShellExecute = false;
答案 1 :(得分:4)
下面的代码应该可以满足您的需求:
class Program
{
static void Main(string[] args)
{
var handle = Process.GetCurrentProcess().MainWindowHandle;
Process.Start("Chrome.exe").WaitForInputIdle();
SetForegroundWindow(handle.ToInt32());
Console.ReadLine();
}
[DllImport("User32.dll")]
public static extern Int32 SetForegroundWindow(int hWnd);
}