最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#隱式運行CMD命令(隱藏命令窗口)

 更新時間:2015年06月16日 11:13:30   投稿:junjie  
這篇文章主要介紹了C#隱式運行CMD命令(隱藏命令窗口),本文實現(xiàn)在winform窗口中運行CMD命令,需要的朋友可以參考下

本文實現(xiàn)了C#隱式運行CMD命令的功能。下圖是實例程序的主畫面。在命令文本框輸入DOS命令,點擊“Run”按鈕,在下面的文本框中輸出運行結(jié)果。

下面是程序的完整代碼。本程序沒有使用p.StandardOutput.ReadtoEnd()和p.StandardOutput.ReadLine()方法來獲得輸出,因為這些方法執(zhí)行后畫面容易卡死。而是通過調(diào)用異步方法BeginOutputReadLine來獲取輸出,并在事件p.OutputDataReceived的事件處理方法中來處理結(jié)果。

using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;

 
namespace RunDosCommandForm
{
  publicpartialclassForm1 : Form
  {
    publicForm1()
    {
      InitializeComponent();
    }
 
    privatevoidbutton1_Click(object sender, EventArgse)
    {
      ExcuteDosCommand(textBox1.Text);
    }
 
    privatevoidExcuteDosCommand(string cmd)
    {
      try
      {
        Process p = newProcess();
        p.StartInfo.FileName = "cmd";
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardInput = true;
        p.StartInfo.RedirectStandardOutput = true;
        p.StartInfo.RedirectStandardError = true;
        p.StartInfo.CreateNoWindow = true;
        p.OutputDataReceived += newDataReceivedEventHandler(sortProcess_OutputDataReceived);
        p.Start();
        StreamWriter cmdWriter = p.StandardInput;
        p.BeginOutputReadLine();
        if (!String.IsNullOrEmpty(cmd))
        {
          cmdWriter.WriteLine(cmd);
        }
        cmdWriter.Close();
        p.WaitForExit();
        p.Close(); 
      }
      catch(Exception ex)
      {
        MessageBox.Show("執(zhí)行命令失敗,請檢查輸入的命令是否正確!");
      }
    }
 
    privatevoidsortProcess_OutputDataReceived(object sender,DataReceivedEventArgs e)
    {
      if(!String.IsNullOrEmpty(e.Data))
      {
        this.BeginInvoke(newAction(() => { this.listBox1.Items.Add(e.Data);}));         
      }
    }
  }
}

我們還可以將需要運行的CMD命令保存為BAT文件,再使用Process類來執(zhí)行。

Process p = new Process();//設(shè)定調(diào)用的程序名,不是系統(tǒng)目錄的需要完整路徑 
p.StartInfo.FileName = "cmd.bat";//傳入執(zhí)行參數(shù) 
p.StartInfo.Arguments = "";
p.StartInfo.UseShellExecute = false;//是否重定向標(biāo)準(zhǔn)輸入 
p.StartInfo.RedirectStandardInput = false;//是否重定向標(biāo)準(zhǔn)轉(zhuǎn)出 
p.StartInfo.RedirectStandardOutput = false;//是否重定向錯誤 
p.StartInfo.RedirectStandardError = false;//執(zhí)行時是不是顯示窗口 
p.StartInfo.CreateNoWindow = true;//啟動 
p.Start();
p.WaitForExit();
p.Close(); 

相關(guān)文章

  • C#執(zhí)行表達(dá)式樹(Expression Tree)的具體使用

    C#執(zhí)行表達(dá)式樹(Expression Tree)的具體使用

    本文將深入探討表達(dá)式樹的基本概念、創(chuàng)建方法、修改和刪除節(jié)點、查詢和遍歷技巧以及在C#中的應(yīng)用示例,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • C#代碼實現(xiàn)PDF文檔操作類

    C#代碼實現(xiàn)PDF文檔操作類

    本篇文章給大家介紹使用pdf文檔操作C#代碼,本文代碼非常簡單,代碼附有注釋,需要注意的是:需要添加itextsharp.dll引用才可以正常通過編譯,感興趣的朋友可以參考下
    2015-10-10
  • 詳細(xì)分析c# 運算符重載

    詳細(xì)分析c# 運算符重載

    這篇文章主要介紹了c# 運算符重載的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C#常用正則驗證函數(shù)示例

    C#常用正則驗證函數(shù)示例

    這篇文章主要介紹了C#常用正則驗證函數(shù),舉例分析了C#針對IP驗證、價格驗證及正整數(shù)驗證的相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • Winform開發(fā)中使用下拉列表展示字典數(shù)據(jù)的幾種方式

    Winform開發(fā)中使用下拉列表展示字典數(shù)據(jù)的幾種方式

    這篇文章介紹了Winform開發(fā)中使用下拉列表展示字典數(shù)據(jù)的幾種方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 利用MySqlBulkLoader實現(xiàn)批量插入數(shù)據(jù)的示例詳解

    利用MySqlBulkLoader實現(xiàn)批量插入數(shù)據(jù)的示例詳解

    MySQLBulkLoader是MySQL?Connector/Net類中的一個類,用于包裝MySQL語句。本文將利用MySqlBulkLoader實現(xiàn)批量插入數(shù)據(jù)功能,感興趣的可以了解一下
    2022-06-06
  • C#中獲取二維數(shù)組的行數(shù)和列數(shù)以及多維數(shù)組各個維度的長度

    C#中獲取二維數(shù)組的行數(shù)和列數(shù)以及多維數(shù)組各個維度的長度

    這篇文章介紹了C#中獲取二維數(shù)組的行數(shù)和列數(shù)以及多維數(shù)組各個維度的長度,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • SQL Server存儲過程在C#中調(diào)用的簡單實現(xiàn)方法

    SQL Server存儲過程在C#中調(diào)用的簡單實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于SQL Server存儲過程在C#中調(diào)用的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SQL Server存儲過程具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • c# 委托的本質(zhì)是什么

    c# 委托的本質(zhì)是什么

    這篇文章主要介紹了c# 委托的本質(zhì)是什么,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C#實現(xiàn)系統(tǒng)桌面右下角彈框

    C#實現(xiàn)系統(tǒng)桌面右下角彈框

    這篇文章主要為大家詳細(xì)介紹了C#如何實現(xiàn)系統(tǒng)桌面右下角彈框,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01

最新評論

武山县| 洪湖市| 岳阳市| 思南县| 尚义县| 台东县| 桂林市| 蓝山县| 鞍山市| 游戏| 德昌县| 平乡县| 略阳县| 通州区| 万州区| 微博| 平度市| 怀化市| 延长县| 依兰县| 北碚区| 九寨沟县| 墨脱县| 奉化市| 东丽区| 措美县| 万荣县| 孝义市| 新化县| 乌拉特前旗| 双江| 西丰县| 康平县| 苍梧县| 双流县| 朝阳县| 浠水县| 修武县| 博野县| 万荣县| 策勒县|