C#/.NET应用程序编程开发中如何判断某个进程正在运行?

C#开发 作者: Rector 11 次阅读 · 读完约需 1 分钟 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

如题,在C#/.NET应用程序编程开发中,如何使用命名空间System.DiagnosticsProcess类判断某个进程正在运行?

方案一

.NET内置的System.Diagnostics.Process类中,可以通过方法GetProcessesByName()获取指定进程名称的进行信息,如下:

Process[] pname = Process.GetProcessesByName("你的进程名称");
if (pname.Length == 0)
  MessageBox.Show("nothing");
else
  MessageBox.Show("run");

或者,你可以使用Process.GetProcesses()方法获取到当前计算机上所有正运行的进程数组集合,如下:

Process[] processlist = Process.GetProcesses();
foreach(Process theprocess in processlist){
   Console.WriteLine("Process: {0} ID: {1}", theprocess.ProcessName, theprocess.Id);
}

方案二

编写一个C#的Process静态扩展方法,如下:

public static class ProcessExtensions
{
    public static bool IsRunning(this Process process)
    {
        if (process == null) 
            throw new ArgumentNullException("process");

        try
        {
            Process.GetProcessById(process.Id);
        }
        catch (ArgumentException)
        {
            return false;
        }
        return true;
    }
}

温馨提示:本文标注有(完整示例)的示例代码可以直接粘贴在try.dot.net中运行。

阅读了该文章的人还浏览了...

本文永久链接码友网 » C#/.NET应用程序编程开发中如何判断某个进程正在运行?

发布于: 2019-06-27 10:29:40
分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册