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();
}

RDP 文件的进程 ID

当您通过Process类启动非exe文件时,它将使用 ShellExecute 函数查找该文件的处理程序,从而启动进程。

幸运的是,mstsc.exe将采用命令行参数,因此您可以直接mstsc.exe启动。

myprocess.StartInfo.FileName = "mstsc.exe";                
myprocess.StartInfo.Arguments = "C:''rdp''RemoteIn.rdp";  
myprocess.Start();