C#调用Rar文件及获取Rar返回值的方法

 更新时间:2015年07月25日 09:36:14   作者:汪宪博  
这篇文章主要介绍了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#程序设计有所帮助。

相关文章

  • C#生成条形码图片的简单方法

    C#生成条形码图片的简单方法

    这篇文章主要介绍了C#生成条形码图片的简单方法,实例分析了了条形码图片的生成原理与实现方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • C#如何安全、高效地玩转任何种类的内存之Span的本质

    C#如何安全、高效地玩转任何种类的内存之Span的本质

    为什么要使用指针,什么时候需要使用它,以及如何安全、高效地使用它?本文将讲清楚 What、How 和 Why ,让你知其然,更知其所以然
    2021-08-08
  • C# 网络编程之UDP

    C# 网络编程之UDP

    这篇文章主要介绍了C# 网络编程之UDP的相关资料,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#使用SQL DataAdapter数据适配代码实例

    C#使用SQL DataAdapter数据适配代码实例

    今天小编就为大家分享一篇关于C#使用SQL DataAdapter数据适配代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • winform实现可拖动的自定义Label控件

    winform实现可拖动的自定义Label控件

    这篇文章主要为大家详细介绍了winform实现可拖动的自定义Label控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • C#中动态显示当前系统时间的实例方法

    C#中动态显示当前系统时间的实例方法

    想在网页中动态地显示当前系统的时间,找了好多,不过都是一些停在那里不动的。。。不过皇天不负有心人,终于让我找到了
    2013-05-05
  • 基于WPF实现蒙板控件的示例代码

    基于WPF实现蒙板控件的示例代码

    这篇文章主要为大家详细介绍了WPF实现蒙板控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-03-03
  • C# 通过NI-VISA操作Tektronix TBS 2000B系列示波器的实现步骤

    C# 通过NI-VISA操作Tektronix TBS 2000B系列示波器的实现步骤

    这篇文章主要介绍了C# 通过NI-VISA操作Tektronix TBS 2000B系列示波器的实现步骤,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#中将dateTimePicker初始值设置为空

    C#中将dateTimePicker初始值设置为空

    本文主要介绍了C#中将dateTimePicker初始值设置为空,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • C#中System.IO.Pipelines库的使用详解

    C#中System.IO.Pipelines库的使用详解

    System.IO.Pipelines 是一个库,旨在使在 .NET 中执行高性能 I/O 更加容易,本文主要为大家详细介绍了System.IO.Pipelines具体使用方法,感兴趣的可以了解下
    2023-12-12

最新评论