C#Process类是怎么用的
比如我要使用cmd,执行ipconfig这个代码怎么写.谢谢!! 展开
2015-08-10 · 知道合伙人数码行家
Process类的作用是对系统进程进行管理,使用Process类中的一些方法结合Winform开发个简单的进程管理器:
在使用Process类的时候,先导入命名空间System.Diagnostics。
使用Winform画出如上的界面,数据显示使用的是Listview。
在窗体的Load事件中写出如下代码:
private void Form1_Load(object sender,
EventArgs e)
{
listView1.FullRowSelect = true;
GetProcess();
}
其中GetProcess方法如下:
private void
GetProcess()
{
listView1.Items.Clear();
Process[] proList = Process.GetProcesses(".");//获得本机的进程
lblNum.Text = proList.Length.ToString(); //当前进程数量
foreach
(Process p in proList)
{
ListViewItem lvi =
new ListViewItem();
lvi.Text =
p.ProcessName;
lvi.SubItems.AddRange(new string[] {
p.Id.ToString(),p.PrivateMemorySize64.ToString() }); //进程ID
使用内存
listView1.Items.Add(lvi);
}
}
如果想终止一个进程,先选中一个进程,点击上面的进程按钮:
click事件代码如下:
private void button2_Click(object sender,
EventArgs e)
{
if (listView1.SelectedItems.Count >
0)
{
try
{
string proName =
listView1.SelectedItems[0].Text;
Process[] p =
Process.GetProcessesByName(proName); //根据进程命获得指定的进程
p[0].Kill(); //杀死该进程
MessageBox.Show("进程关闭成功!");
GetProcess();
}
catch
{
MessageBox.Show("无法关闭此进程!");
}
}
else
{
MessageBox.Show("请选择要终止的进程!");
}
}
当然我们可以调用Process的start方法来开启一个进程:
启动按钮的事件如下:
private void button1_Click(object sender,
EventArgs e)
{
if (textBox1.Text != string.Empty)
{
Process.Start(textBox1.Text); //启动一个进程
}
else
{
MessageBox.Show("请输入启动项");
textBox1.Focus();
}
}
process.StartInfo.CreateNoWindow = true;//设定不显示窗口
process.StartInfo.UseShellExecute = false;
process.StartInfo.FileName = "cmd.exe"; //设定程序名
process.StartInfo.RedirectStandardInput = true; //重定向标准输入
process.StartInfo.RedirectStandardOutput = true; //重定向标准输出
process.StartInfo.RedirectStandardError = true;//重定向错误输出
process.Start();
process.StandardInput.WriteLine("ipconfig");//执行的命令
process.StandardInput.WriteLine("exit");
process.WaitForExit();
process.Close();
return process.StandardOutput.ReadToEnd();
我存在blog上刚好有例子呢
参考资料: http://msdn.microsoft.com/zh-cn/library/system.diagnostics.process_members(v=VS.80).aspx
广告 您可能关注的内容 |