C#如何遍历进程?找到之后显示该程序
2个回答
2013-03-27
展开全部
下面是关闭一个正在运行的软件.你可以自己测试一下.name是软件的名字.不带.exe噢./// <summary>
/// 删除软件运行.关闭软件.
/// </summary>
/// <param name="name"></param>
public static void del(string name)
{
string processPath = name.Replace(".EXE", "").Replace(".exe", "");
//开始。
System.Int16 i;
System.String StrNameID;
System.Diagnostics.Process[] ShowID = System.Diagnostics.Process.GetProcesses();
for (i = 0; i < ShowID.Length; i++)
System.Console.WriteLine(ShowID[i].ProcessName + " " + ShowID[i].Id);
// System.Console.Write("请输入你要关闭的进程名称: ");
StrNameID = System.Convert.ToString(processPath);
System.Diagnostics.Process[] CloseID = System.Diagnostics.Process.GetProcessesByName(StrNameID);
//
if (CloseID.Length != 0)
{
for (i = 0; i < CloseID.Length; i++)
{
if (CloseID[i].Responding && !CloseID[i].HasExited)
{
//listBox1.Items.Add("指定进程存在而且正在响应中...正在关闭.");
CloseID[i].CloseMainWindow();
if (!CloseID[i].HasExited)
{
// listBox1.Items.Add("由于特别原因无法关闭进程,现在强制关闭!!!");
CloseID[i].Kill();
}
}
else
{
// listBox1.Items.Add("指定进程存在但无法响应...正在强制关闭!");
CloseID[i].Kill();
}
}
}
}
/// 删除软件运行.关闭软件.
/// </summary>
/// <param name="name"></param>
public static void del(string name)
{
string processPath = name.Replace(".EXE", "").Replace(".exe", "");
//开始。
System.Int16 i;
System.String StrNameID;
System.Diagnostics.Process[] ShowID = System.Diagnostics.Process.GetProcesses();
for (i = 0; i < ShowID.Length; i++)
System.Console.WriteLine(ShowID[i].ProcessName + " " + ShowID[i].Id);
// System.Console.Write("请输入你要关闭的进程名称: ");
StrNameID = System.Convert.ToString(processPath);
System.Diagnostics.Process[] CloseID = System.Diagnostics.Process.GetProcessesByName(StrNameID);
//
if (CloseID.Length != 0)
{
for (i = 0; i < CloseID.Length; i++)
{
if (CloseID[i].Responding && !CloseID[i].HasExited)
{
//listBox1.Items.Add("指定进程存在而且正在响应中...正在关闭.");
CloseID[i].CloseMainWindow();
if (!CloseID[i].HasExited)
{
// listBox1.Items.Add("由于特别原因无法关闭进程,现在强制关闭!!!");
CloseID[i].Kill();
}
}
else
{
// listBox1.Items.Add("指定进程存在但无法响应...正在强制关闭!");
CloseID[i].Kill();
}
}
}
}
展开全部
System.Diagnostics.Process[] processes;
//dataGridView的数据源
DataTable dt = new DataTable();
//加载进程信息
private void button1_Click(object sender, EventArgs e)
{
//给datatable添加3个列
dt.Columns.Add("ID", typeof(Int32));
dt.Columns.Add("进程名", typeof(String));
dt.Columns.Add("线程数", typeof(String));
dt.Columns.Add("进程分配内存", typeof(String));
dt.Columns.Add("优先级大小", typeof(int));
dt.Columns.Add("虚拟内存峰值", typeof(String));
dt.Columns.Add("运行主模块名", typeof(String));
//dt.Columns.Add("启动时间", typeof(DateTime));
//获得所有进程
processes = System.Diagnostics.Process.GetProcesses();
foreach (Process p in processes)
{
DataRow dr = dt.NewRow();
dr[0] = p.Id;//ID
dr[1] = p.ProcessName;//进程名
dr[2] = p.Threads.Count;//线程数
dr[3] = p.PrivateMemorySize64 / 1024 + " KB";
dr[4] = p.BasePriority;//优先级
dr[5] = p.PeakVirtualMemorySize;//最大虚拟内存
dr[6] = p.MainWindowTitle;//主模块名
//dr[7] = p.StartTime;//启动时间
dt.Rows.Add(dr);
}
//绑定进程信息到dataGridView
this.dataGridView1.DataSource = dt;
//视图排序
DataView m = new DataView(dt);
m.Sort = "ID";
dataGridView1.DataSource = m;
}
//dataGridView的数据源
DataTable dt = new DataTable();
//加载进程信息
private void button1_Click(object sender, EventArgs e)
{
//给datatable添加3个列
dt.Columns.Add("ID", typeof(Int32));
dt.Columns.Add("进程名", typeof(String));
dt.Columns.Add("线程数", typeof(String));
dt.Columns.Add("进程分配内存", typeof(String));
dt.Columns.Add("优先级大小", typeof(int));
dt.Columns.Add("虚拟内存峰值", typeof(String));
dt.Columns.Add("运行主模块名", typeof(String));
//dt.Columns.Add("启动时间", typeof(DateTime));
//获得所有进程
processes = System.Diagnostics.Process.GetProcesses();
foreach (Process p in processes)
{
DataRow dr = dt.NewRow();
dr[0] = p.Id;//ID
dr[1] = p.ProcessName;//进程名
dr[2] = p.Threads.Count;//线程数
dr[3] = p.PrivateMemorySize64 / 1024 + " KB";
dr[4] = p.BasePriority;//优先级
dr[5] = p.PeakVirtualMemorySize;//最大虚拟内存
dr[6] = p.MainWindowTitle;//主模块名
//dr[7] = p.StartTime;//启动时间
dt.Rows.Add(dr);
}
//绑定进程信息到dataGridView
this.dataGridView1.DataSource = dt;
//视图排序
DataView m = new DataView(dt);
m.Sort = "ID";
dataGridView1.DataSource = m;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询