我如何使用Process.Start(),但启动的进程与启动进程不在同一个进程树中?
考虑此示例控制台应用程序
using System;
using System.Diagnostics;
using System.Threading;
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("Starting ie...");
Process.Start("c:\\Program Files\\Internet Explorer\\iexplore.exe", "http://www.google.com");
Console.WriteLine("Waiting for 15 seconds");
Thread.Sleep(15000);
Console.WriteLine("Exiting...");
}
}
Run Code Online (Sandbox Code Playgroud)
当此程序正常退出时,Internet Explorer将继续运行.但是,如果在15秒睡眠期间您转到任务管理器并选择此程序并选择"结束进程树",Internet Explorer也将关闭.
(这与我今天早些时候的问题直接相关,到目前为止,还没有回复.在Windows XP中,当屏幕保护程序结束时,它似乎结束了进程树,而在Vista中,只是屏幕保护程序进程结束.)