首页 > 编程 > C# > 正文

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

2019-10-29 21:39:58
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C#调用Rar文件及获取Rar返回值的方法,实例分析了C#调用rar文件实现文件的压缩与解压相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#调用Rar文件及获取Rar返回值的方法。分享给大家供大家参考。具体如下:

该程序适用于C#调用。

所需的Rar.exe可从WinRar官网下载控制台版。

按钮OK点击事件:

 

 
  1. System.Diagnostics.Process process; 
  2. private void btnRAR_Click(object sender, EventArgs e) 
  3. if (System.IO.File.Exists("Rar.exe")) 
  4. try 
  5. process = new System.Diagnostics.Process(); 
  6. process.StartInfo.FileName = "Rar.exe"
  7. process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized; 
  8. process.EnableRaisingEvents = true
  9. //m<0..5> 设置压缩级别(0-存储...3-默认...5-最大) 
  10. //rar a -m5 -ag[yyyy年mm月dd日_hh点mm分-ss] MyLuoLuo 
  11. 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"; 
  12. process.Exited += new EventHandler(RarStop); 
  13. process.Start(); 
  14. catch (Exception ex) 
  15. MessageBox.ShowError("发生错误!错误信息:/n" + ex.Message); 

进程退出时判断返回值:

 

 
  1. private void RarStop(object sender, System.EventArgs e) 
  2. switch (process.ExitCode) 
  3. case 0: 
  4. MessageBox.ShowInformation("压缩成功!"); 
  5. break
  6. case 1: 
  7. MessageBox.ShowInformation("有错误但没有发生致命错误!"); 
  8. break
  9. case 2: 
  10. MessageBox.ShowError("发生一个致命错误!"); 
  11. break
  12. case 3: 
  13. MessageBox.ShowError("解压缩时发生一个 CRC 错误!"); 
  14. break
  15. case 4: 
  16. MessageBox.ShowError("试图修改先前使用 'k' 命令锁定的压缩文件!"); 
  17. break
  18. case 5: 
  19. MessageBox.ShowError("写入磁盘错误!"); 
  20. break
  21. case 6: 
  22. MessageBox.ShowError("打开文件错误!"); 
  23. break
  24. case 7: 
  25. MessageBox.ShowError("命令行选项错误!"); 
  26. break
  27. case 8: 
  28. MessageBox.ShowError("没有足够的内存进行操作!"); 
  29. break
  30. case 9: 
  31. MessageBox.ShowError("创建文件错误!"); 
  32. break
  33. case 255: 
  34. MessageBox.ShowError("用户中断操作"); 
  35. break
  36. default
  37. MessageBox.ShowError("未知错误!"); 
  38. break

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表