如何检测程序(进程)是否正在运行并在Windows 8.1 Universal App中获取其实例

时间:2015-07-22 05:04:28

标签: c# win-universal-app

我是Windows Universal Apps的新手,但我发现它非常有趣,所以我想开始了解它的功能。

我目前是WPF .NET开发人员,我希望能够检查程序当前是否正在运行并获取其实例。在WPF中,我会在Process.GetProcessesByName()的帮助下执行此操作,但在通用应用程序中不提供Process。在Windows 8.1 Universal App中是否有类似的方法来获取进程(运行程序的实例)?

2 个答案:

答案 0 :(得分:3)

System.Diagnostics.Process在UWP应用程序中不可用。这些应用程序是沙盒的,不允许查看计算机上运行的其他进程。

答案 1 :(得分:1)

将此行添加到您的使用列表中:

using System.Diagnostics;

现在,您可以使用Process.GetProcesses()方法获取进程列表,如下例所示:

Process[] processlist = Process.GetProcesses();

foreach(Process theprocess in processlist){
Console.WriteLine(“Process: {0} ID: {1}”, theprocess.ProcessName, theprocess.Id);
}

也可能需要Process对象的一些有趣属性:

p.StartTime (Shows the time the process started)
p.TotalProcessorTime (Shows the amount of CPU time the process has taken)
p.Threads ( gives access to the collection of threads in the process)