private void button3_Click(object sender, EventArgs e)
{
if (dq1ip.Text.Trim()!="")
{
Execute("mstsc /v:"+dq1ip.Text);
}
}
public string Execute(string dosCommand)
{
return Execute(dosCommand, 10);
}
/// <summary>
/// 執行DOS命令,返回DOS命令的輸出
/// </summary>
/// <param name="dosCommand">dos命令</param>
/// 如果設定為0,則無限等待</param>
/// <returns>返回DOS命令的輸出</returns>
public static string Execute(string command, int seconds)
{
string output = ""; //輸出字符串
if (command != null && !command.Equals(""))
{
Process process = new Process();//創建進程對象
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";//設定需要執行的命令
startInfo.Arguments = "/C " + command;//“/C”表示執行完命令後馬上退出
startInfo.UseShellExecute = false;//不使用系統外殼程序啟動
startInfo.RedirectStandardInput = false;//不重定向輸入
startInfo.RedirectStandardOutput = true; //重定向輸出
startInfo.CreateNoWindow = true;//不創建窗口
process.StartInfo = startInfo;
try
{
if (process.Start())//開始進程
{
if (seconds == 0)
{
process.WaitForExit();//這裡無限等待進程結束
}
else
{
process.WaitForExit(seconds); //等待進程結束,等待時間為指定的毫秒
}
output = process.StandardOutput.ReadToEnd();//讀取進程的輸出
}
}
catch
{
}
finally
{
if (process != null)
process.Close();
}
}
return output;
}
摘自 Bychentufeiyang的專欄