[C#]通过Process来对系统进程进行操作

今天想自己写一个程序,来获取当前某项进程的命令行参数,以后也就不用打开任务管理器,然后一个字母的敲了,可是到最后都没有找到办法。

关于系统进程的获取、启动和停止,都已经搞定了。

本来可以很简单的,但是我弄复杂了点,顺带把多维数组温习了一遍。

下面是获取进程列表的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System.Diagnostics;

private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox2.Items.Clear();
Process[] liebiao = Process.GetProcesses();
string[,] shuzu_jincheng = new string[liebiao.Length,2];
int i = 0;
foreach (Process jincheng in liebiao)
{
shuzu_jincheng[i, 0] = jincheng.Id.ToString();
shuzu_jincheng[i, 1] = jincheng.ProcessName;
i++;
}
for (i = 0; i < liebiao.Length - 1; i++)
{
listBox1.Items.Add(shuzu_jincheng[i, 0]);
listBox2.Items.Add(shuzu_jincheng[i, 1]);
}
}

这个也需要一个引用,代码第一行就是需要进行引用的类。

关于进程的操作,MSDN上都有(除了获取命令行参数,能获取的只有通过Process.start()启动的进程)。有关结束进程等的操作,可以直接去MSDN学习。