.NET調用控制臺下生成的exe文件,傳參及獲取返回參數的思路及代碼_.Net教程

      編輯Tag賺U幣

      推薦:.net下調用sqlserver存儲過程的小例子
      .net下調用sqlserver存儲過程的小例子

      最近客戶要求把一個樹型目錄導出成文件夾套文件夾的結構,并提供下載功能,剛開始感覺功能比較容易實現就在最短的時間把基本功能搞定,當發布到服務器上之后發現直接在本應用程序中導出目錄(下帶ntko文檔及附件)再進行壓縮,程序直接卡死了!后來就想到了要做一window服務,只是客戶給的時間太短,沒辦法先寫一控制臺程序生成一個exe文件,然后再調用這個exe文件,這樣就可以緩解本程序壓力了!

      下面寫一個測試項目

      在調用exe端傳過去一個要壓縮的文件夾的路徑,然后在控制臺下獲取該路徑進行壓縮,壓縮完成之后返回壓縮過后的文件夾路徑或者返回一個成功與否的狀態

      1、返回路徑

      復制代碼 代碼如下:www.wf0088.com

      string path = @"E:\測試項目\201303\TestWindowsService\ca\bin\Debug\ca.exe";
      string fileName = path;

      Process p = new Process();

      p.StartInfo.UseShellExecute = false;

      p.StartInfo.RedirectStandardOutput = true;

      p.StartInfo.FileName = fileName;

      p.StartInfo.CreateNoWindow = true;

      p.StartInfo.Arguments = @"D:\zhai\aaa\安置幫教";//參數以空格分隔,如果某個參數為空,可以傳入””

      p.Start();

      p.WaitForExit();
      //此處可以返回一個字符串,此例是返回壓縮成功之后的一個文件路徑
      string output = p.StandardOutput.ReadToEnd();
      this.TextBox1.Text = output;

      控制臺下代碼:

      復制代碼 代碼如下:www.wf0088.com

      static void Main(string[] args)
      {
      //接收傳過來的待壓縮文件路徑
      string url = "";
      //返回壓縮過后的文件路徑
      string retUrl = "";

      if (!string.IsNullOrEmpty(args[0]))
      {
      url = args[0];
      }
      //此處引用了一個壓縮文件的dll using Ionic.Zip;
      using (ZipFile zf = new ZipFile(System.Text.Encoding.Default))
      {
      zf.AddDirectory(url);
      zf.Save(@"D:\zhai\aaa\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip");
      retUrl = @"D:\zhai\aaa\"+DateTime.Now.ToString("yyyyMMddHHmmss")+".zip";
      }
      Console.Write(retUrl);
      }

      2、返回一個狀態

      復制代碼 代碼如下:www.wf0088.com

      //Process myProcess = new Process();

      //string fileName = path;
      //string para = "你好 北緯30度!";
      //ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(fileName, para);
      //myProcess.StartInfo = myProcessStartInfo;

      //myProcess.Start();

      //while (!myProcess.HasExited)
      //{

      // myProcess.WaitForExit();

      /

      分享:.NET示波器控件的實例代碼分析
      本篇文章是對.NET示波器控件進行了詳細的分析介紹,需要的朋友參考下

      來源:模板無憂//所屬分類:.Net教程/更新時間:2013-06-03
      相關.Net教程