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

时间:2017-06-26 09:26:24

标签: c# .net winforms

因此,我尝试使用Button打开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();
}

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

2 个答案:

答案 0 :(得分:3)

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

cmd /c mstsc /v:...

或者,为什么不直接致电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();
}

或更短:

Process.Start("mstsc", "/v:" + this.txtIP.Text);

不要忘记验证Text的价值!

答案 1 :(得分:0)

您可以调用mstsc

,而不是调用cmd.exe
 startInfo.FileName = "mstsc"
 startInfo.Arguments= " /v " + txtIP.Text