易语言调用外部程序如何调用WINRAR压缩和解压文件!

易语言调用外部程序如何调用WINRAR压缩和解压文件!,第1张

'以下代码非原创

但可行

觉得拷贝无聊者请忽略

'代码定义了两个子程序一个解压一个压缩

.版本

2

.子程序

压缩_WinRAR_压缩,

文本型,

公开,

本命令需要安装WinRAR

.参数

被压缩的文件,

文本型,

数组,

文件和文件夹都可以

.参数

压缩到文件,

文本型,

,

路径和rar\zip文件名

.参数

WinRAR地址,

文本型,

可空,

如果注册表内没有WinRAR的信息。但是安装了的。就需要写

例:C:\Program

Files\WinRAR\WinRAR.exe

.局部变量

易团俊,

整数型

.局部变量

被压缩信息,

文本型

易团俊

0

被压缩信息

“”

.如果真

(是否为空

(WinRAR地址))

WinRAR地址

取文本注册项

(#本地机器,

“SOFTWARE\Microsoft\Windows\CurrentVersion\App

Paths\WinRAR.exe\”,

)

.如果真结束

.如果真

(WinRAR地址

“”)

返回

(“找不到WinRAR目录”)

.如果真结束

.计次循环首

(取数组成员数

(被压缩的文件),

易团俊)

被压缩信息

被压缩信息

被压缩的文件

[易团俊]

.计次循环尾

()

运行

(WinRAR地址

a

-ep1

-scul

-r0

-iext

压缩到文件

被压缩信息,

真,

)

返回

(“”)

.子程序

压缩_WinRAR_解压,

文本型,

公开,

本命令需要安装WinRAR

.参数

压缩文件,

文本型,

,

全路径和rar\zip文件名

.参数

解压到文件夹,

文本型,

,

文件夹全路径

.参数

WinRAR地址,

文本型,

可空,

如果注册表内没有WinRAR的信息。但是安装了的。就需要写

例:C:\Program

Files\WinRAR\WinRAR.exe

.如果真

(是否为空

(WinRAR地址))

WinRAR地址

取文本注册项

(#本地机器,

“SOFTWARE\Microsoft\Windows\CurrentVersion\App

Paths\WinRAR.exe\”,

)

.如果真结束

.如果真

(WinRAR地址

“”)

返回

(“找不到WinRAR目录”)

.如果真结束

运行

(WinRAR地址

x

-iext

-ow

-er

压缩文件

解压到文件夹,

真,

)

返回

(“”)

 WinRAR是目前网上非常流行和通用的压缩软件,全面支持zip和ace,支持多种格式的压缩文件,可以创建固定压缩,分卷压缩,自释放压缩等多种方式,可以选择不同的压缩比例,实现最大程度的减少占用体积。目前最新的版本是WinRAR 3.62 官方简体中文版。

软件大小:1038KB

软件语言:简体中文

软件类别:国外软件/共享版/压缩工具

运行环境:Win9x/Me/NT/2000/XP

主要特点和功能:

1.对 RAR 和 ZIP 的完全支持,支持 ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO 类型文件的解压;

2.支持分卷压缩功能,支持创建自解压文件,可以制作简单的安装程序,使用方便;

3.强大的压缩文件修复功能,最大限度恢复损坏的 rar 和 zip 压缩文件中的数据,如果设置了恢复记录,甚至可能完全恢复; 

4.工业标准 AES 加密;

5.提供固实格式的压缩算法,在很大程度上增加类似文件或许到小文件的压缩率;

6.可以保存 NTFS 数据流和安全数据;

7.与资源管理器整合, *** 作简单快捷;

8.支持 Unicode 编码文件名,强大的常规、文本、多媒体和可执行文件压缩。

关于WinRAR的使用

一、WinRAR 的下载和安装

(1)从许多网站都可以下载这个软件,

(2)安装WinRAR 的安装十分简单,您只要双击下载后的压缩包,就会出现图1 的安装界面。

图1 设定目标文件夹

在图1 中您通过点“浏览”选择好安装路径后点“安装”就可以开始安装了。然后会出现图2 的选项。

图2 设置关联等

图2 中分三个部分,您在左边的“WinRAR关联文件”是让您将下面的格式的文件创建联系,如果您决定经常使用 WinRAR 的话,可以与所有格式的文件创建联系。如果您是偶然使用 WinRAR 的话,也可以酌情选择。右边的“界面”是选择 WinRAR 在 windows 中的位置。“外壳整合设置”是在右键菜单等处创建快捷。都做好选择后,点“确定”就会出现图3,点击“完成”成功安装。

图3 感谢和许可

二、使用 WinRAR 快速压缩和解压

WinRAR 支持在右键菜单中快速压缩和解压文件 *** 作十分简单。

(1)快速压缩

当您在文件上点右键的时候,您就会看见图4 中用圆圈标注的部分就是 WinRAR 在右键中创建的快捷键。

图4 右键菜单

想压缩文件的时候,在文件上点右键并选择“添加到档案文件”,这样就会出现图5,在图5 的最上部您可以看见6个选项,这里是选择“常规“时出现的界面。

图5 解压缩向导

(2)快速解压

当您在压缩文件上点右键后,会有图6中画圈的选项出现,您选择“释放文件”

图6 释放文件

选择“释放文件”后出现图7,在图7 的“目标路径”处选择出解压缩后的文件将被安排至的路径和名称。 没有什么问题,点击“确定”就可以解压了。

图7 解压缩选择

三、WinRAR 的主界面

其实对文件进行压缩和解压的 *** 作的话,在右键菜单中的功能就足以胜任了,一般不用在 WinRAR 的主界面中进行 *** 作,但是在主界面中又有一些额外的功能所以我们有必要对它进行了解,下面我们将对主界面中的每个按钮做一说明。

点击 WinRAR 的图标后出现的主界面如图8。

图8 压缩包

“添加”按钮就是我们已经熟悉的压缩按钮,当点击它的时候就会出现前面我们已经解释过的图5 的界面,相信您对此界面已经熟悉了,在此就不多说了。

当您在下面的窗口中选好一个具体的文件后,您点“查看”按钮就会显示文件中的内容代码等。

“删除”按钮的功能十分简单就是删除您选定的文件。

“修复”是允许您修复文件的一个功能。修复后的文件 WinRAR 会自动为它起名为 _reconst.rar,所以您只要在“被修复的压缩文件保存的文件夹”处为修复后的文件找好路径就可以了,当然您也可以自己为它起名。

“解压到”是将文件解压,点击它后出现的界面就是我们在前面解释过的图12,您一定会使用此功能了。

“测试”是允许您对选定的文件进行测试,它会告诉您是否有错误等测试结果。

当您在 WinRAR 的主界面中双击打开一个压缩包的时候,又会出现几个新的按钮,如图9。

图9 文件浏览

其中有“自解压格式”按钮,是将压缩文件转化为自解压可执行文件,“保护”是防止压缩包受以外的损害。“注释”是对压缩文件做一定的说明。“信息”是显示压缩文件的一些信息。

四、WinRAR 的卸载

卸载只要在控制面板---添加/删除程序---WinRAR 压缩文件管理器---添加/删除就可以了。

要先引入using Microsoft.Win32

/// <summary>

/// 压缩

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void button1_Click(object sender, EventArgs e)

{

ArrayList arrFiles = new ArrayList()

//要打包两个文件和一个文件夹

arrFiles.Add(@"c:\abc.xls")

arrFiles.Add(@"d:\xyz.xls")

arrFiles.Add(@"e:\uvc")

//压缩文件存放路径

string savestr = @"c:\kugoo"

//压缩文件名

string name = "test.rar"

this.CompressFileForReportTable(arrFiles, savestr, name)

}

/// <summary>

/// 压缩文件

/// </summary>

/// <param name="sourceFilesPaths">要压缩的文件路径列表</param>

/// <param name="compressFileSavePath">压缩文件存放路径</param>

/// <param name="compressFileName">压缩文件名(全名)</param>

p lic void CompressFileForReportTable(ArrayList sourceFilesPaths, string compressFileSavePath, string compressFileName)

{

String the_rar

RegistryKey the_Reg

System.Object the_Obj

String the_Info

ProcessStartInfo the_StartInfo

Process the_Process

try

{

//使用注册表对象获取到WiNRar路径

the_Reg = Registry.ClassesRoot.OpenS Key(@"Applications\WinRAR.exe\Shell\Open\Command")

the_Obj = the_Reg.GetVal("")

the_rar = the_Obj.ToString()

the_Reg.Close()

the_rar = the_rar.S string(1, the_rar.Length - 7)

the_Info = " a" + compressFileName

foreach (object filePath in sourceFilesPaths)

{

the_Info += " " + filePath.ToString()//每个文件路径要与其它的空格隔开

}

the_StartInfo = new ProcessStartInfo()

the_StartInfo.FileName = the_rar

the_StartInfo.Arguments = the_Info

the_StartInfo.WindowStyle = ProcessWindowStyle.Normal//Hidden 隐藏样式

the_StartInfo.WorkingDirectory = compressFileSavePath//获取或设置要启动的进程的初始目录。(RAR存放路径)

the_Process = new Process()

the_Process.StartInfo = the_StartInfo

the_Process.Start()

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString())

}

}

/// <summary>

/// 解压缩指定的rar文件。

/// </summary>

/// <param name="rarFileToDecompress">rar文件(绝对路径)。</param>

/// <param name="directoryToSave">解压缩保存的目录。</param>

/// <param name="deleteRarFile">解压缩后删除rar文件。</param>

p lic void DecompressRAR(string rarFileToDecompress, string directoryToSave, bool deleteRarFile)

{

String the_rar

RegistryKey the_Reg

Object the_Obj

the_Reg = Registry.ClassesRoot.OpenS Key(@"Applications\WinRAR.exe\Shell\Open\Command")

the_Obj = the_Reg.GetVal("")

the_rar = the_Obj.ToString()

the_Reg.Close()

the_rar = the_rar.S string(1, the_rar.Length - 7)

string winrarExe = the_rar//需要在指定路径下放入winara.exe的可执行文件在安装目录下可以找到这个文件

if (new FileInfo(winrarExe).Exists)

{

//directoryToSave = CheckDirectoryName(directoryToSave)

try

{

Process p = new Process()

// 需要启动的程序名

p.StartInfo.FileName = winrarExe

// 参数

string arguments = @"x -inul -y -o+"

arguments += " " + rarFileToDecompress + " " + directoryToSave

p.StartInfo.Arguments = arguments

p.Start()//启动

while (!p.HasExited)

{

}

p.WaitForExit()

}

catch (Exception ee)

{

throw new Exception("压缩文件在解压缩的过程中出现了错误!")

}

if (deleteRarFile)

{

File.Delete(rarFileToDecompress)

}

}

else

{

throw new Exception("本机上缺少必须的Winrar.exe文件,不能完成相应 *** 作请联系管理员安装WinRar解压工具!")


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11599282.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存