国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#調用WinRar執行rar、zip壓縮的方法

2020-01-24 01:52:18
字體:
來源:轉載
供稿:網友

本文實例講述了C#調用WinRar執行rar、zip壓縮的方法。分享給大家供大家參考。具體如下:

判斷系統是否安裝了winrar

/// <summary>/// 驗證WinRar是否安裝。/// </summary>/// <returns>true:已安裝,false:未安裝</returns>private static bool ExistsRar(out String winRarPath){ winRarPath = String.Empty; //通過Regedit(注冊表)找到WinRar文件 var registryKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/WinRAR.exe"); if (registryKey == null) return false;//未安裝 //registryKey = theReg;可以直接返回Registry對象供會面操作 winRarPath = registryKey.GetValue("").ToString(); //這里為節約資源,直接返回路徑,反正下面也沒用到 registryKey.Close();//關閉注冊表 return !String.IsNullOrEmpty(winRarPath);}

壓縮

/// <summary>/// 生成Zip/// </summary>/// <param name="path">文件夾路徑</param>/// <param name="rarPath">生成壓縮文件的路徑</param>/// <param name="rarName">生成壓縮文件的文件名</param>public static void CompressRar(String path, String rarPath, String rarName){ try {  String winRarPath = null;  if (!ExistsRar(out winRarPath)) return;  //驗證WinRar是否安裝。  var pathInfo = String.Format("a -afzip -m0 -ep1 /"{0}/" /"{1}/"", rarName, path);  #region WinRar 用到的命令注釋  //[a] 添加到壓縮文件  //afzip 執行zip壓縮方式,方便用戶在不同環境下使用。  //(取消該參數則執行rar壓縮)  //-m0 存儲 添加到壓縮文件時不壓縮文件。共6個級別【0-5】,值越大效果越好,也越慢  //ep1 依名稱排除主目錄(生成的壓縮文件不會出現不必要的層級)  //r 修復壓縮檔案  //t 測試壓縮檔案內的文件  //as 同步壓縮檔案內容   //-p 給壓縮文件加密碼方式為:-p123456  #endregion  //打包文件存放目錄  var process = new Process  {   StartInfo = new ProcessStartInfo   {   FileName = winRarPath,//執行的文件名   Arguments = pathInfo,//需要執行的命令   UseShellExecute = false,//使用Shell執行   WindowStyle = ProcessWindowStyle.Hidden,//隱藏窗體   WorkingDirectory = rarPath,//rar 存放位置   CreateNoWindow = false,//不顯示窗體   },  };  process.Start();//開始執行  process.WaitForExit();//等待完成并退出  process.Close();//關閉調用 cmd 的什么什么 } catch (Exception ex) {  throw ex; }}

解壓

/// <summary>/// 解壓/// </summary>/// <param name="unRarPath">文件夾路徑</param>/// <param name="rarPath">壓縮文件的路徑</param>/// <param name="rarName">壓縮文件的文件名</param>/// <returns></returns>public static String UnCompressRar(String unRarPath, String rarPath, String rarName){ try {  String winRarPath = null;  if (!ExistsRar(out winRarPath)) return "";  //驗證WinRar是否安裝。  if (Directory.Exists(unRarPath) == false)  {   Directory.CreateDirectory(unRarPath);  }  var pathInfo = "x " + rarName + " " + unRarPath + " -y";  var process = new Process  {   StartInfo = new ProcessStartInfo   {   FileName = winRarPath,//執行的文件名   Arguments = pathInfo,//需要執行的命令   UseShellExecute = false,//使用Shell執行   WindowStyle = ProcessWindowStyle.Hidden,//隱藏窗體   WorkingDirectory = rarPath,//rar 存放位置   CreateNoWindow = false,//不顯示窗體   },  };  process.Start();//開始執行  process.WaitForExit();//等待完成并退出  process.Close();//關閉調用 cmd 的什么什么 } catch (Exception ex) {  throw ex; } return unRarPath;}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏附县| 满城县| 嘉善县| 郎溪县| 正蓝旗| 手游| 乳山市| 洛浦县| 红河县| 桂阳县| 团风县| 陇川县| 盘锦市| 沂源县| 手游| 上栗县| 平顶山市| 云梦县| 永修县| 永寿县| 南投县| 海晏县| 长宁区| 承德市| 阿图什市| 洪湖市| 武威市| 锦州市| 黄石市| 绵阳市| 义马市| 洮南市| 常宁市| 德兴市| 遂溪县| 灌南县| 海兴县| 陆丰市| 临泽县| 漳州市| 左贡县|