在 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
属性
我想像这样在列表框中收集进程:
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
属性