C# 利用winrar解压带密码的压缩包

C# 利用winrar解压带密码的压缩包

前言: 基于上篇文章介绍了在Android中生成带密码的压缩包,根据需求,我需要在桌面将其进行解压。解压的过程中,我们可以将压缩包中需要保密的文件利用其它方法同时进行加密,以保证解压后数据的安全性。

这种方式解压的代码比较简单,不再累赘介绍,我将我封装的方法分享出来

    /// 
    /// 工程压缩包操作类(利用winrar进行解压,故系统上必须安装winrar)
    /// 
    public class ZIPPackageOP
    {
        /// 
        /// 解压带密码的压缩包(zip;rar都可)
        /// 
        /// 压缩包路径
        /// 解压后文件夹的路径
        /// 压缩包密码
        /// 
        public static bool unZIP(string zipFilePath,string unZipPath,string password)
        {
            if (!isStallWinrar())
            {
                MessageBox.Show("本机并未安装WinRAR,请安装该压缩软件!", "温馨提示");
                return false;
            }

            System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
            Process1.StartInfo.FileName = "Winrar.exe";
            Process1.StartInfo.CreateNoWindow = true;
            Process1.StartInfo.Arguments = " x -p" + password+" " + zipFilePath + " " + unZipPath;
            Process1.Start();
            if (Process1.HasExited)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// 
        /// 判断系统上是否安装winrar
        /// 
        /// 
        public static bool isStallWinrar()
        {
            RegistryKey the_Reg =
                Registry.LocalMachine.OpenSubKey(
                    @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");
            return !string.IsNullOrEmpty(the_Reg.GetValue("").ToString());

        }
    }

你可能感兴趣的:(C#,winrar,C#,密码,压缩包,解压)