我正在尝试通过保存进程启动时生成的进程 ID 来终止该进程。但是,当我尝试从代码中终止该进程时,我捕获的进程 ID 并不存在。
以下是用于启动进程和捕获进程 ID 的代码:
当我点击终止进程按钮时,它显示以下错误。
有没有办法修复这个问题?
使用 Palani Kumar 代码后,我遇到了以下异常。
表格看起来像这样
以下是用于启动进程和捕获进程 ID 的代码:
private List<int> pids = new List<int>();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pids.Clear();
Process myprocess= new Process();
myprocess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");
myprocess.StartInfo.Arguments = "C:\\rdp\\RemoteIn.rdp";
myprocess.Start();
pids.Add(myprocess.Id);
}
private void terminateAll()
{
//foreach (var p in pids) p.Kill();
foreach (var i in pids)
{
Process p = Process.GetProcessById(i);
p.Kill();
}
}
private void button2_Click(object sender, EventArgs e)
{
terminateAll();
}
当我点击终止进程按钮时,它显示以下错误。
![enter image description here](https://istack.dev59.com/PM3KS.webp)
使用 Palani Kumar 代码后,我遇到了以下异常。
![enter image description here](https://istack.dev59.com/Sl2oE.webp)
![enter image description here](https://istack.dev59.com/uC6ux.webp)
Process.GetProcessById(i)
。 - spender