这篇文章主要介绍了C#调用Rar文件及获取Rar返回值的方法,实例分析了C#调用rar文件实现文件的压缩与解压相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#调用Rar文件及获取Rar返回值的方法。分享给大家供大家参考。具体如下:
该程序适用于C#调用。
所需的Rar.exe可从WinRar官网下载控制台版。
按钮OK点击事件:
- System.Diagnostics.Process process;
- private void btnRAR_Click(object sender, EventArgs e)
- {
- if (System.IO.File.Exists("Rar.exe"))
- {
- try
- {
- process = new System.Diagnostics.Process();
- process.StartInfo.FileName = "Rar.exe";
- process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
- process.EnableRaisingEvents = true;
- //m<0..5> 设置压缩级别(0-存储...3-默认...5-最大)
- //rar a -m5 -ag[yyyy年mm月dd日_hh点mm分-ss] MyLuoLuo
- process.StartInfo.Arguments = string.Format(@"a -m{0} -ag[yyyy年mm月dd日_hh点mm分-ss] {1}//MyLuoLuo.rar {2}", this.SaveRank.ToString(),this.FileName,this.RarPath); //@"a -m5 -ag[yyyy年mm月dd日_hh点mm分-ss] MyLuoLuo.rar D:/Txt";
- process.Exited += new EventHandler(RarStop);
- process.Start();
- }
- catch (Exception ex)
- {
- MessageBox.ShowError("发生错误!错误信息:/n" + ex.Message);
- }
- }
- }
进程退出时判断返回值:
- private void RarStop(object sender, System.EventArgs e)
- {
- switch (process.ExitCode)
- {
- case 0:
- MessageBox.ShowInformation("压缩成功!");
- break;
- case 1:
- MessageBox.ShowInformation("有错误但没有发生致命错误!");
- break;
- case 2:
- MessageBox.ShowError("发生一个致命错误!");
- break;
- case 3:
- MessageBox.ShowError("解压缩时发生一个 CRC 错误!");
- break;
- case 4:
- MessageBox.ShowError("试图修改先前使用 'k' 命令锁定的压缩文件!");
- break;
- case 5:
- MessageBox.ShowError("写入磁盘错误!");
- break;
- case 6:
- MessageBox.ShowError("打开文件错误!");
- break;
- case 7:
- MessageBox.ShowError("命令行选项错误!");
- break;
- case 8:
- MessageBox.ShowError("没有足够的内存进行操作!");
- break;
- case 9:
- MessageBox.ShowError("创建文件错误!");
- break;
- case 255:
- MessageBox.ShowError("用户中断操作");
- break;
- default:
- MessageBox.ShowError("未知错误!");
- break;
- }
- }
希望本文所述对大家的C#程序设计有所帮助。
新闻热点
疑难解答