7

可能重复:
如何知道 Process.Start() 是否成功?

我的程序中有一个类似于看门狗的进程(我们称之为它WD),它是另一个正在运行的进程(我们称之为它A)。我正在WD某个事件中启动进程,假设按下了一个键,我想用这个进程启动另一个进程,我们称之为B

A问题是我想在我知道该过程B成功启动后关闭初始过程。我该如何检查?

我正在开始进程和WD语法。BProcess.Start(argList)ProcessInfo(argList)

每个进程都是一个简单的 C# 控制台应用程序。

4

2 回答 2

7

Process.Start 返回一个布尔值(如果进程正确启动,则为true )检查此 MSDN链接以了解 Process.Start() 方法。

你的代码应该是这样的:

        Process B= new Process();

        try
        {
            B.StartInfo.UseShellExecute = false;
            B.StartInfo.FileName = "C:\\B.exe";
            B.StartInfo.CreateNoWindow = true;
            if (B.Start())
            {
              // Kill process A 
            }
            else
            {
               // Handle incorrect start of process B and do NOT stop A
            }

        }
        catch (Exception e)
        {
            // Handle exception and do NOT stop A
        }
于 2012-06-19T08:42:14.573 回答
0

进程.开始

返回:如果进程资源已启动,则返回true ;如果没有启动新的进程资源(例如,如果重用现有进程),则为false 。

我假设您应该只检查Process.Start. 如果是true,您可以关闭当前进程。

根据您使用的重载,null如果它也失败,则返回值可能是。

于 2012-06-19T08:40:47.677 回答