在c#中由CheckedItems表示的关闭进程

时间:2011-08-02 00:06:29

标签: c# listview process checkbox checked

我想要关闭用户在另一个表单的ListView框中选择的进程。 ListView框使用复选框选择要关闭的进程。不幸的是,我不知道如何将已检查的流程转换为流程....任何帮助?

public void Form4_Load(object sender, EventArgs e)
{
    Process[] prs = Process.GetProcesses();
    listView1.Items.Clear();
    foreach (Process proces in prs)
    {
        if (!string.IsNullOrEmpty(proces.MainWindowTitle))
            listView1.Items.Add(proces.MainWindowTitle);
    }
    foreach (Process PRC in listView1.CheckedItems)
    {
        \\Idk what to put here.
    }

1 个答案:

答案 0 :(得分:0)

为了杀死一个进程,您需要它的名称或进程ID,因此请更改上面的代码,将ListView1的进程添加到这样的内容:

private void Form4_Load(object sender, EventArgs e)
        {
            Process[] prs = Process.GetProcesses();
            listView1.Items.Clear();
            foreach (Process proces in prs)
            {
                if (!string.IsNullOrEmpty(proces.MainWindowTitle))
                {
                    ListViewItem item = new ListViewItem();
                    item.Tag = proces.Id; //it will be used to kill this process
                    item.Text = proces.MainWindowTitle;
                    listView1.Items.Add(item);
                }
            }
        }

注意标记字段,稍后我们将使用它来终止所选进程。现在循环遍历所有选定的ListViewItems,从标记字段获取相应的进程ID并使用{{1获取对进程的引用}}。此方法返回Process的对象,该对象公开System.Diagnostics.Process.GetProcessById方法,使用该方法可以停止此对象引用的进程。

Kill