C#查找进程并杀死的方法

查找进程的方法:

1.通过System.Diagnostics.Process.GetProcesses()方法能够获得系统内各进程的数组

public static bool KillProcess(string pProcessName)
{
           Process[] processes;
           processes= Process.GetProcessesByName(processName);
           if (processes.Length = 0 ) return false;
           foreach (Process p in processes)

           {
                    p.Kill();

                    //RunCmd("ntsd -c q -p " + p.Id);

           }

           return true;
 }
2.通ManagementObjectSearcher 类

此类是用于检索管理信息的较为常用的入口点之一。例如,它可以用于枚举系统中的所有磁盘驱动器、网络适配器、进程及更多管理对象,或者用于查询所有处于活动状态的网络连接以及暂停的服务等。在实例化之后,此类的实例可以接受在 ObjectQuery 或其派生类中表示的 WMI 查询作为输入,并且还可以选择接受一个 ManagementScope(表示执行查询时所在的 WMI 命名空间)。它还可以接受 EnumerationOptions 中的其他高级选项。当调用此对象的 Get 方法时,ManagementObjectSearcher 在指定的范围内执行给定的查询,并返回与 ManagementObjectCollection 中的查询匹配的管理对象的集合。

public static bool KillProcess(string pProcessName)
{
           ManagementObjectCollection objects = new ManagementObjectSearcher("SELECT * FROM Win32_Process").Get();
           foreach (ManagementObject item in objects)
           {
                      string str = item["Name"].ToString();
                      if (str.Trim().ToUpper() == pProcessName.Trim().ToUpper())
                      {
                                 string[] args = new string[] { "0" };
                                 item.InvokeMethod("Terminate", args);
                                 return true;
                      }
           }
           return false;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值