因此,我尝试使用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();
}
我想知道为什么它不执行命令。
答案 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