求c#中进程监控方面源码 ( 积分: 200 )

  • 主题发起人 主题发起人 likezyfish
  • 开始时间 开始时间
L

likezyfish

Unregistered / Unconfirmed
GUEST, unregistred user!
主要功能:
监控程序当前运行状态,无响应时关闭程序并重新启动等。
多谢
也可以发到我的信箱:bupt_like@163.com
 
主要功能:
监控程序当前运行状态,无响应时关闭程序并重新启动等。
多谢
也可以发到我的信箱:bupt_like@163.com
 
C#的帮助中有,索引是“ProcessController 示例”
 
private void process_Load(object sender, System.EventArgs e)
{
this.listView1.FullRowSelect = true;
Process[] process=Process.GetProcesses();//获得正在运行的进程
foreach(Process p in process)//遍历所有进程
{
string path;
ListViewItem item1 = new ListViewItem(p.Id.ToString(),0);//取得进程ID
try
{
item1.SubItems.Add(p.ProcessName.ToString());//取得进程名
item1.SubItems.Add(p.WorkingSet.ToString());//取得进程的工作集
item1.SubItems.Add(p.Responding.ToString());//取得进程状态
item1.SubItems.Add(p.MainWindowTitle.ToString());//取得进程主窗口
path=p.MainModule.FileName.ToString();//取得进程路径
}
catch(System.Exception ee)
{
item1.SubItems.Add("无");
this.listView1.Items.Add(item1);
continue;
}
item1.SubItems.Add(path);
this.listView1.Items.Add(item1);
}
}
 
System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName(this.listBox1.SelectedItem.ToString());
foreach ( System.Diagnostics.Process p in process ) { if ( p.MainWindowHandle == (System.IntPtr)(windowHandle[this.listBox2.SelectedIndex])) { p.Kill();
this.listBox2.Items.RemoveAt(this.listBox2.SelectedIndex);
} }
 

Similar threads

后退
顶部