如何防止使用Process.Start打开多个RDP实例?

时间:2016-09-25 16:13:20

标签: c# winforms process rdp process.start

我只是试图通过我的C#应用​​程序中的按钮单击事件打开Windows RDP应用程序,但我得到的是一次点击就有4或5个RDP实例。我想知道这是否是在按钮点击事件中使用代码的结果。我研究过Mutex,但它似乎并不像我在这个特殊情况下所寻求的那样。有什么想法吗?

private void btnRemote_Click(object sender, EventArgs e)
{
    string rdcSupport = "C:\\Windows\\System32\\mstsc.exe";

    try
    {
        procRDC.StartInfo.FileName = rdcSupport;
        procRDC.Start();
        procRDC.WaitForInputIdle();
        SendKeys.Send("support_server1");
        SendKeys.Send("{ENTER}");
    }
    catch
    {
        Console.WriteLine("Failed to open...");
    }
}

1 个答案:

答案 0 :(得分:0)

可能是SendKeys搞得一团糟。我建议使用MSTSC参数:

.3415149 p( y= Mistake (or X1=1) | Pulse = X2)

您没有展示如何创建/初始化procRDP。

请参阅MSTSC帮助:https://technet.microsoft.com/en-us/library/cc753907(v=ws.11).aspx