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

本文介绍了一种使用C#结合WinRAR实现解压带密码的RAR或ZIP压缩包的方法。通过调用WinRAR的命令行接口并传递密码参数,可以实现自动化解压过程。该方法依赖于本地已安装WinRAR。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

    /// <summary>
    /// 工程压缩包操作类(利用winrar进行解压,故系统上必须安装winrar)
    /// </summary>
    public class ZIPPackageOP
    {
        /// <summary>
        /// 解压带密码的压缩包(zip;rar都可)
        /// </summary>
        /// <param name="zipFilePath">压缩包路径</param>
        /// <param name="unZipPath">解压后文件夹的路径</param>
        /// <param name="password">压缩包密码</param>
        /// <returns></returns>
        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;
            }
        }

        /// <summary>
        /// 判断系统上是否安装winrar
        /// </summary>
        /// <returns></returns>
        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());

        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mekeater

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值