RDP 文件的进程 ID
本文关键字:ID 进程 文件 RDP | 更新日期: 2023-09-27 17:56:57
我正在尝试获取进程打开的.rdp文件的进程ID,并用button1_Click杀死它,但Visual Studio抛出进程ID未退出的错误。我检查了任务栏,rdp文件具有不同的进程ID,而不是我从以下代码中捕获的那个。如果我只调用 mstc.exe,它工作正常,我能够杀死进程而不会出现任何错误。任何人都可以帮我解决这个问题。
private void button1_Click(object sender, EventArgs e)
{
pids.Clear();
Process myprocess = new Process();
myprocess.StartInfo.FileName = "C:''rdp''RemoteIn.rdp";
//notePad.StartInfo.FileName = "mstsc.exe";
myprocess.Start();
pids.Add(myprocess);
}
private void terminateAll()
{
foreach (var i in pids)
{
// Process p = Process.GetCurrentProcess();
i.Kill();
}
}
private void button2_Click(object sender, EventArgs e)
{
terminateAll();
}
当您通过Process
类启动非exe
文件时,它将使用 ShellExecute
函数查找该文件的处理程序,从而启动进程。
幸运的是,mstsc.exe
将采用命令行参数,因此您可以直接mstsc.exe
启动。
myprocess.StartInfo.FileName = "mstsc.exe";
myprocess.StartInfo.Arguments = "C:''rdp''RemoteIn.rdp";
myprocess.Start();