对于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是否都支持它?
答案 0 :(得分:0)
不幸的是,到目前为止,似乎还没有可用的UWP API。 ProcessDiagnosticInfo
提供了有关流程的基本信息,似乎没有任何方法可以对其进行进一步处理(例如,关联事件)。此外,即使UWP现在支持.NET Standard,与System.Diagnostics.Process
相关的类还是会抛出PlatformNotSupported
异常,这可能是出于安全原因。
我现在看到的唯一选项是重复查询正在运行的进程列表,并检查您正在监视的进程是否仍然列出。当然,这不是最好的解决方案,因为您不会立即收到通知,因此,如果需要更快的反馈,则必须更频繁地执行检查。