使用进程通过 mstsc.exe 连接失败

Using Process to connect via mstsc.exe failes

我创建了一个小工具,我想通过 mstsc.exe 连接到远程桌面。

我找到了很多示例,显然它们都有效。但出于某些原因,我没有! :(

实际上是一个小代码

private void RunRDP(object sender, EventArgs e)
{
    Process rdcProcess = new Process();
    //Add/Change Credentials
    /**
        rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");
        rdcProcess.StartInfo.Arguments = String.Format(@"/generic:TERMSRV/{0} /user:{1} /pass:{2}", tbServer.Text, tbUsername.Text, tbPassword.Text);
        rdcProcess.Start();
    */

    //Perform mstsc
    rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe");
    rdcProcess.StartInfo.Arguments = string.Format(@"/v {0}", tbServer.Text);
    rdcProcess.Start();
}

我取出添加凭据只是为了测试连接...仍然失败。

当我评论这行时

rdcProcess.StartInfo.Arguments = string.Format(@"/v {0}", tbServer.Text);

至少打开mstsc.exe

在任何其他情况下我都会收到错误

Invalid connection File

错误一定是这样的。将此从德语翻译成英语不会带来任何类似的错误描述:D

为什么我的程序失败了?

运行 'mstsc /?' 给我:

/v:<server[:port]> -- Specifies the remote computer to which you want to connect.

所以我想你应该把它改成:

rdcProcess.StartInfo.Arguments = string.Format(@"/v:{0}", tbServer.Text);