我想要关闭用户在另一个表单的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.
}
答案 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