【发布时间】:2012-03-06 09:33:36
【问题描述】:
我想从列表中杀死一个进程。因此,我首先列出进程,然后使用process.kill()。但它不起作用。下面是代码,我不知道我做错了什么或我必须做什么。 (我有 Windows 7)。你能帮忙吗?
private void btnProcess_Click(object sender, EventArgs e)
{
UpdateProcessList();
}
private void btnRemove_Click(object sender, EventArgs e)
{
try
{
foreach (Process p in Process.GetProcesses())
{
string strName = listBox1.SelectedItem.ToString();
if (p.ProcessName == strName)
{
p.Kill();
}
listBox1.Items.Remove(strName);
}
UpdateProcessList();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void UpdateProcessList()
{
listBox1.Items.Clear();
foreach (Process p in Process.GetProcesses())
{
listBox1.Items.Add(p.ProcessName);
}
listBox1.Sorted = true;
}
【问题讨论】:
-
你有权限杀死那个进程吗?
-
我是这台计算机的管理员,并以管理员权限运行它...
-
你想杀死什么进程?您的代码是否可以杀死 Notepad.exe 的实例?
-
“不起作用”是什么意思?你至少应该告诉我们出了什么问题(抛出异常......等等)。
-
确保您真的是管理员。在 Windows 7 和 Vista 上,如果启用了用户访问控制,则管理帐户并不是真正的管理员。因此,您需要在 管理员帐户下运行或关闭 UAC。