本文实例讲述了C#实现查杀本地与远程进程的方法。分享给大家供大家参考。
具体实现方法如下:
复制代码 代码如下: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: [email protected]");
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}",Tparas);
}
}
Thread.Sleep(Convert.ToInt32(args[4])*1000);
}while(true);
}
catch(Exception exObj)
{
Console.Writeline();
Console.Writeline("Failed!");
Console.Writeline(exObj.Message);
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
以上是内存溢出为你收集整理的C#实现查杀本地与远程进程的方法全部内容,希望文章能够帮你解决C#实现查杀本地与远程进程的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)