在 ListBox 中显示所有 运行 应用程序并在 c# 中单击按钮时终止它们

Show all running applications in ListBox and kill them on button click in c#

我想像这样在列表框中收集进程:

app.exe otherapp.exe

但我刚得到:

System.Diagnostics.Process(app.exe) System.Diagnostics.Process(otherapp.exe)

我的代码:

    private void Form1_Load(object sender, EventArgs e)
    {
        Process[] prs = (Process.GetProcesses());

        foreach (Process pr in prs)
        {
            listBox1.Items.Add(Convert.ToString(pr));
        }
    }

    private void button3_Click(object sender, EventArgs e)
    {
        Process[] prs = Process.GetProcesses();

        string item = Convert.ToString(listBox1.SelectedItem);

        //item.Kill();
    }

首先你应该存储进程名称:

    foreach (Process process in Process.GetProcesses())
    {
        listBox1.Items.Add(process.ProcessName);
    }

之后你可以使用名称获取进程并杀死 it/them:

    Process[] processes = Process.GetProcessesByName(listBox1.SelectedItem.ToString());

    foreach (Process process in processes)
    {
        process.Kill();
    }

有关过程 class 的详细信息,请参阅 https://msdn.microsoft.com/en-us/library/system.diagnostics.process(v=vs.110).aspx

只需稍作改动即可使用相同的代码

 listBox1.Items.Add(Convert.ToString(pr.ProcessName));

简而言之

  private void Form1_Load(object sender, EventArgs e)
{
 Process[] prs = (Process.GetProcesses());

             foreach (Process pr in prs)
             {

                listBox1.Items.Add(Convert.ToString(pr.ProcessName));
             }
}

输出:

原因:

您只需要在实例上使用 属性 ProcessName 属性