【发布时间】:2010-11-05 07:59:54
【问题描述】:
如何使用 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...");
}
}
当此程序正常退出时,Internet Explorer 将继续运行。但是,如果在 15 秒的睡眠期间您进入任务管理器并选择此程序并选择“结束进程树”,Internet Explorer 也会关闭。
(这与my question from earlier today直接相关,目前还没有回复。在Windows XP中,当屏幕保护程序结束时,它似乎结束了进程树,而在Vista中,只是屏幕保护程序进程结束。)
【问题讨论】:
-
您解决了这个问题吗?我也有同样的问题...stackoverflow.com/questions/8364671/…