这是寒假里面写的一个小程序。这个程序主要练习了Process类和ListView控件的用法。下载地址http://download.csdn.net/source/2052804下面附上部分代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace TaskMgr
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void ListProcesses()
{
Process[] ps;
try
{
ps = Process.GetProcesses();//获取进程
lv.BeginUpdate();
lv.Clear();
//给listview控件添加头部提示信息
lv.Columns.Add("映象名称", 100, HorizontalAlignment.Left);
lv.Columns.Add("进程 ID", 60, HorizontalAlignment.Left);
lv.Columns.Add("优先级", 60, HorizontalAlignment.Left);
//lv.Columns.Add("CPU时间", 100, HorizontalAlignment.Left);
lv.Columns.Add("占用内存", 100, HorizontalAlignment.Left);
//循环将进程信息添加进listview中
foreach (Process p in ps)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = p.ProcessName;
lvi.SubItems.Add(p.Id.ToString());
lvi.SubItems.Add(p.BasePriority.ToString());
// lvi.SubItems.Add();
lvi.SubItems.Add(p.WorkingSet.ToString());
lv.Items.Add(lvi);
}
lv.EndUpdate();
ProCount.Text = "共有" + lv.Items.Count + "个进程";
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void Form1_Load(object sender, EventArgs e)
{
ListProcesses();
}
private void RefreshProc_Click(object sender, EventArgs e)
{
ListProcesses();
}
private void ViewProc_Click(object sender, EventArgs e)
{
FormProp dlg = new FormProp();
if (lv.SelectedItems.Count!=0)
{
dlg.Text = "进程" + lv.SelectedItems[0].Text + "属性";
dlg.pid = Int32.Parse(lv.SelectedItems[0].SubItems[1].Text);
dlg.ShowDialog();
}
else
{
MessageBox.Show("请先选择一个进程!");
}
}