在C#中列出进程,杀掉进程。
using System;
using System.Management; //System.Management命名空间肯定要先引用的喽。
namespace PK
{
public class pk
{
public static void Main(string[] args)
{
if(args.Length != 1)
{
List();
Help();
return;
}
else
{
Term(args[0]);
return;
}
}
private static void List()
{
ManagementObjectSearcher searcher;
ManagementObjectCollection collection;
searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Process");
collection = searcher.Get();
foreach (ManagementObject service in collection)
{
Console.WriteLine(service["Name"] + "\t\t" + service["ExecutablePath"]);
}
}
private static void Help()
{
Console.WriteLine("\n===========================================================");
Console.WriteLine("This Program Used To Terminate A Process Which You Chosed");
Console.WriteLine("Usage:pk.exe ProcessName ph4nt0m.net");
Console.WriteLine("===========================================================");
}
private static void Term(string name)
{
ManagementObjectSearcher searcher;
ManagementObjectCollection collection;
searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Process");
collection = searcher.Get();
foreach (ManagementObject service in collection)
{
if (service["Name"].ToString() == name)
{
string[] Tparas = {"0"};
service.InvokeMethod("Terminate", Tparas);
Console.WriteLine("Terminate "+name+" ok");
}
}
}
}
}