源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#实现查杀本地与远程进程的方法

  • 时间:2020-04-23 12:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#实现查杀本地与远程进程的方法
本文实例讲述了C#实现查杀本地与远程进程的方法。分享给大家供大家参考。 具体实现方法如下:
[u]复制代码[/u] 代码如下:
using System; using System.Management; using System.Threading;   class xkill { public static void usage() { Console.WriteLine(); Console.WriteLine("xkill v1.0 Beta, By R&S"); Console.WriteLine("E-mail: yrwithsh@vip.sina.com"); Console.WriteLine("H-Page: Http://fz5fz.yeah.net"); Console.WriteLine(); Console.WriteLine("Usage:  xkill [ip] [account] [password] [programme] [time(s)]"); Console.WriteLine("If its the localhost,dont need account and password"); Console.WriteLine("Example: xkill 218.194.X.X administrator 123 qq.exe 60"); Console.WriteLine("         xkill 218.194.X.X administrator NULL qq.exe 60"); Console.WriteLine("         xkill 127.0.0.1 qq.exe 60 (for localhost)");   }   public static void Main(string[] args) { if((args.Length!=5)&&(args.Length!=3)) { usage(); Environment.Exit(0); } while((args[0]=="127.0.0.1")││(args[0]=="192.168.0.1")) { string KillName=args[1];  ManagementObjectSearcher link = new ManagementObjectSearcher("SELECT * From Win32_Process"); ManagementObjectCollection Collection = link.Get(); foreach (ManagementObject Process in Collection) { Console.WriteLine("{0} {1}",Convert.ToString(Process["Name"]).PadRight(15),Process["ExecutablePath"]);        if (Convert.ToString(Process["Name"])==KillName) { string[] Tparas = {"1"};   Process.InvokeMethod("Terminate", Tparas); }  } Console.WriteLine(); Console.WriteLine("Terminate it yet"); Thread.Sleep(Convert.ToInt32(args[2])*1000);  }   try{     do     { string KillName=args[3]; ConnectionOptions Conn = new ConnectionOptions(); Conn.Username =args[1]; if(args[2]=="NULL") { Conn.Password =""; } else Conn.Password =args[2]; ManagementPath p = new ManagementPath("\\"+args[0]+"\root\cimv2");   ManagementScope ms = new ManagementScope(p,Conn); ObjectQuery oq = new ObjectQuery("SELECT * FROM Win32_Process"); ManagementObjectSearcher link = new ManagementObjectSearcher(ms,oq); ManagementObjectCollection Collection = link.Get();      Console.WriteLine("--------------------------------------------------------"); foreach (ManagementObject Process in Collection) { Console.WriteLine("{0}{1}",Convert.ToString(Process["Name"]).PadRight(15),Process["ExecutablePath"]);        if (Convert.ToString(Process["Name"])==KillName) { string[] Tparas = {"1"};   Process.InvokeMethod("Terminate", Tparas); }   }     Thread.Sleep(Convert.ToInt32(args[4])*1000);   }while(true); }  catch(Exception exObj) { Console.WriteLine(); Console.WriteLine("failed!"); Console.WriteLine(exObj.Message); }  } }
  希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部