小编use*_*665的帖子

Process.Start()和Process Tree

我如何使用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中,只是屏幕保护程序进程结束.)

.net c#

9
推荐指数
2
解决办法
9391
查看次数

标签 统计

.net ×1

c# ×1