UWP如何通知流程终止?

时间:2018-10-01 08:28:10

标签: c# uwp diagnostics

对于UWP,我正在寻找类似于.NET System.Diagnostics.Process的功能来通知Process终止,例如:

process.EnableRaisingEvents = true;
process.Exited += Process_Exited;

...

private static void Process_Exited(object sender, EventArgs e)
{
    var process = (Process)sender;
    // Do some stuff
}

目前,我可以算出Windows.System.Diagnostics.ProcessDiagnosticInfo对象,该对象代表了我需要的“过程”。问题在于,Windows.System.Diagnostics.ProcessDiagnosticInfo类型没有提供可以告诉我“嘿,此过程已经结束”的机制(事件等)。

任何UWP的API是否都支持它?

1 个答案:

答案 0 :(得分:0)

不幸的是,到目前为止,似乎还没有可用的UWP API。 ProcessDiagnosticInfo提供了有关流程的基本信息,似乎没有任何方法可以对其进行进一步处理(例如,关联事件)。此外,即使UWP现在支持.NET Standard,与System.Diagnostics.Process相关的类还是会抛出PlatformNotSupported异常,这可能是出于安全原因。

我现在看到的唯一选项是重复查询正在运行的进程列表,并检查您正在监视的进程是否仍然列出。当然,这不是最好的解决方案,因为您不会立即收到通知,因此,如果需要更快的反馈,则必须更频繁地执行检查。