执行CMD在C#中打开远程桌面

Rek*_*kcs 4 .net c# winforms

因此,我尝试使用 aButton打开一个CMD.exe窗口来执行一个命令,该命令允许我使用网络中的 IP 自动打开远程桌面。我已经构建了一段代码,但它不起作用。这是代码:

private void cmdRemote_Click(object sender, EventArgs e)
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = "mstsc /v:" + txtIP.Text;
    process.StartInfo = startInfo;
    process.Start();
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么它不执行命令。

mar*_*sze 5

在参数列表前添加“/c”,否则 cmd 不会执行它:

cmd /c mstsc /v:...
Run Code Online (Sandbox Code Playgroud)

或者,你为什么不mstsc直接打电话?

private void cmdRemote_Click(object sender, EventArgs e)
{
    var process = new System.Diagnostics.Process();
    process.StartInfo = new ProcessStartInfo
    {
        FileName = "mstsc"
        Arguments = "/v:" + txtIP.Text
    }
    process.Start();
}
Run Code Online (Sandbox Code Playgroud)

或更短:

Process.Start("mstsc", "/v:" + this.txtIP.Text);
Run Code Online (Sandbox Code Playgroud)

不要忘记验证Text!