//+-------------------------------------------------------------------+
//+ FileName: OSProcess.cs
//+ File Created: 2010-3-8 15:26
//+-------------------------------------------------------------------+
//+ Purpose: 操作系统中的进程
//+-------------------------------------------------------------------+
//+ History:
//+-------------------------------------------------------------------+
//+ 2010/03/22 Comment Created
//+-------------------------------------------------------------------+
//+ Creator 成吉思汗
//+-------------------------------------------------------------------+
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace Client.BaseClass
{
/// <summary>
/// 客户端系统的进程
/// </summary>
public class OSProcess
{
#region
public OSProcess() { }
#endregion
#region 获取操作系统进程列表
/// <summary>
/// 获取操作系统进程列表
/// </summary>
public Dictionary<string, string> GetAllProcess()
{
Process[] ps = Process.GetProcesses();
Dictionary<string, string> di = new Dictionary<string, string>();
int i = 0;
StringBuilder sb = new StringBuilder();
foreach (Process p in ps)
{
if (p.MainWindowHandle != null)
{
di.Add(p.Id.ToString(),p.ProcessName);
sb.Append("ID: " + p.Id.ToString() + " ProcessName " + p.ProcessName);
}
}
return di;
}
#endregion
#region 是否存在某种进程
/// <summary>
/// 是否存在某种进程
/// </summary>
/// <param name="processname"></param>
/// <returns></returns>
public bool isExist(string processname)
{
Dictionary<string, string> di = new Dictionary<string, string>();
di = GetAllProcess();
return di.ContainsValue(processname);
}
#endregion
#region 杀进程
/// <summary>
/// 杀进程
/// </summary>
/// <param name="processname"></param>
public void Kill(string processname)
{
Process[] ps = Process.GetProcesses();
foreach (Process p in ps)
{
if (p.MainWindowHandle != null&&p.ProcessName.Equals(processname))
{
p.Kill();
}
}
}
#endregion
}
}