日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# rar解压大小_C#利用WinRAR实现压缩和解压缩

發布時間:2023/12/15 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# rar解压大小_C#利用WinRAR实现压缩和解压缩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

usingSystem;usingMicrosoft.Win32;usingSystem.Diagnostics;usingSystem.IO;namespaceMSCL

{///

///壓縮解壓類///

public classZipHelper

{///

///利用 WinRAR 進行壓縮///

/// 將要被壓縮的文件夾(絕對路徑)

/// 壓縮后的 .rar 的存放目錄(絕對路徑)

/// 壓縮文件的名稱(包括后綴)

/// true 或 false。壓縮成功返回 true,反之,false。

public bool RAR(string path, string rarPath, stringrarName)

{bool flag = false;string rarexe; //WinRAR.exe 的完整路徑

RegistryKey regkey; //注冊表鍵

Object regvalue; //鍵值

string cmd; //WinRAR 命令參數

ProcessStartInfo startinfo;

Process process;try{

regkey= Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\shell\open\command");

regvalue= regkey.GetValue("WinRAR"); //鍵值為 "d:\Program Files\WinRAR\WinRAR.exe" "%1"

rarexe =regvalue.ToString();

regkey.Close();

rarexe= rarexe.Substring(1, rarexe.Length - 7); //d:\Program Files\WinRAR\WinRAR.exe

Directory.CreateDirectory(path);//壓縮命令,相當于在要壓縮的文件夾(path)上點右鍵->WinRAR->添加到壓縮文件->輸入壓縮文件名(rarName)

cmd = string.Format("a {0} {1} -r",

rarName,

path);

startinfo= newProcessStartInfo();

startinfo.FileName=rarexe;

startinfo.Arguments= cmd; //設置命令參數

startinfo.WindowStyle = ProcessWindowStyle.Hidden; //隱藏 WinRAR 窗口

startinfo.WorkingDirectory=rarPath;

process= newProcess();

process.StartInfo=startinfo;

process.Start();

process.WaitForExit();//無限期等待進程 winrar.exe 退出

if(process.HasExited)

{

flag= true;

}

process.Close();

}catch(Exception e)

{throwe;

}returnflag;

}///

///利用 WinRAR 進行解壓縮///

/// 文件解壓路徑(絕對)

/// 將要解壓縮的 .rar 文件的存放目錄(絕對路徑)

/// 將要解壓縮的 .rar 文件名(包括后綴)

/// true 或 false。解壓縮成功返回 true,反之,false。

public bool UnRAR(string path, string rarPath, stringrarName)

{bool flag = false;stringrarexe;

RegistryKey regkey;

Object regvalue;stringcmd;

ProcessStartInfo startinfo;

Process process;try{

regkey= Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\shell\open\command");

regvalue= regkey.GetValue("");

rarexe=regvalue.ToString();

regkey.Close();

rarexe= rarexe.Substring(1, rarexe.Length - 7);

Directory.CreateDirectory(path);//解壓縮命令,相當于在要壓縮文件(rarName)上點右鍵->WinRAR->解壓到當前文件夾

cmd = string.Format("x {0} {1} -y",

rarName,

path);

startinfo= newProcessStartInfo();

startinfo.FileName=rarexe;

startinfo.Arguments=cmd;

startinfo.WindowStyle=ProcessWindowStyle.Hidden;

startinfo.WorkingDirectory=rarPath;

process= newProcess();

process.StartInfo=startinfo;

process.Start();

process.WaitForExit();if(process.HasExited)

{

flag= true;

}

process.Close();

}catch(Exception e)

{throwe;

}returnflag;

}

}

}

總結

以上是生活随笔為你收集整理的c# rar解压大小_C#利用WinRAR实现压缩和解压缩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。