麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#中隱式運行CMD命令行窗口的方法

2020-01-24 03:44:11
字體:
供稿:網(wǎng)友

MS的CMD命令行是一種重要的操作界面,一些在C#中不那么方便完成的功能,在CMD中幾個簡單的命令或許就可以輕松搞定,如果能在C#中能完成CMD窗口的功能,那一定可以使我們的程序簡便不少。
下面介紹一種常用的在C#程序中調(diào)用CMD.exe程序,并且不顯示命令行窗口界面,來完成CMD中各種功能的簡單方法。
如下所示:

復(fù)制代碼 代碼如下:

System.Diagnosties.Process p=new System.Diagnosties.Process();
p.StartInfo.FileName="cmd.exe";//要執(zhí)行的程序名稱
p.StartInfo.UseShellExecute=false;
p.StartInfo.RedirectStanderInput=true;//可能接受來自調(diào)用程序的輸入信息
p.StartInfo.RedirectStanderOutput=true;//由調(diào)用程序獲取輸出信息
p.StartInfo.CreateNoWindow=true;//不顯示程序窗口
p.Start();//啟動程序
//向CMD窗口發(fā)送輸入信息:
p.StanderInput.WriteLine("shutdown -r t 10"); //10秒后重啟(C#中可不好做哦)
//獲取CMD窗口的輸出信息:
string sOutput = p.StandardOutput.ReadToEnd();有啦以下代碼,就可以神不知鬼不覺的操作CMD啦。總之,Process類是一個非常有用的類,它十分方便的利用第三方的程序擴展了C#的功能。

詳細(xì)源碼如下:
復(fù)制代碼 代碼如下:

using System;
using System.Diagnostics;
namespace Business
{
/// <summary>
/// Command 的摘要說明。
/// </summary>
public class Command
{
private Process proc = null;
/// <summary>
/// 構(gòu)造方法
/// </summary>
public Command()
{
proc = new Process();
}
/// <summary>
/// 執(zhí)行CMD語句
/// </summary>
/// <param name="cmd">要執(zhí)行的CMD命令</param>
public void RunCmd(string cmd)
{
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
proc.StandardInput.WriteLine(cmd);
proc.Close();
}
/// <summary>
/// 打開軟件并執(zhí)行命令
/// </summary>
/// <param name="programName">軟件路徑加名稱(.exe文件)</param>
/// <param name="cmd">要執(zhí)行的命令</param>
public void RunProgram(string programName,string cmd)
{
Process proc = new Process();
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = programName;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
if (cmd.Length != 0)
{
proc.StandardInput.WriteLine(cmd);
}
proc.Close();
}
/// <summary>
/// 打開軟件
/// </summary>
/// <param name="programName">軟件路徑加名稱(.exe文件)</param>
public void RunProgram(string programName)
{
this.RunProgram(programName,"");
}
}
}

調(diào)用時
復(fù)制代碼 代碼如下:

Command cmd = new Command();
cmd.RunCmd("dir");

獲取輸出信息應(yīng)注意:

ReadtoEnd()容易卡住:

復(fù)制代碼 代碼如下:

[csharp] view plaincopyprint?string outStr = proc.StandardOutput.ReadtoEnd(); 

 string outStr = proc.StandardOutput.ReadtoEnd();


更傾向于使用ReadLine():

復(fù)制代碼 代碼如下:

[csharp] view plaincopyprint?string tmptStr = proc.StandardOutput.ReadLine(); 
         string outStr = ""; 
         while (tmptStr != "") 
         { 
             outStr += outStr; 
             tmptStr = proc.StandardOutput.ReadLine(); 
         } 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 一区国产在线观看 | 国产色片 | 午夜人体 | 极品销魂一区二区三区 | 国产精品久久久久久久久久尿 | 欧美日韩1区2区3区 黄片毛片一级 | 久久精品久久久久 | 亚洲成人夜色 | 免费国产在线精品 | 国产成人在线网站 | 亚洲第一页综合 | 国产91精品久久久久久 | 黄色一级片免费在线观看 | 成人在线观看免费高清 | 中文字幕免费播放 | 懂色av懂色aⅴ精彩av | 香蕉视频1024 | 日本高清黄色片 | 国产88久久久国产精品免费二区 | 国产毛片aaa一区二区三区视频 | 精品国产一区二区三区四区在线 | 欧美a级在线免费观看 | www久久艹| 91九色丨porny丨国产jk | 毛毛片在线看 | 一级毛片在线免费观看视频 | 国产一区二区免费在线观看视频 | 欧美成人区 | 免费亚洲视频在线观看 | 91 在线免费观看 | 久章草影院 | 成人一级免费视频 | 欧美一区2区三区4区公司二百 | 手机av免费电影 | av免费大全 | www.91pron| av在线日韩 | 失禁高潮抽搐喷水h | 欧美日韩在线看片 | 高清视频91| 欧美黄色大片免费观看 |