| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
KirSNVD
10年前发布

C#调用Rar文件并获取Rar返回值

C#调用Rar文件以及获取Rar返回值。适用于C#调用。所需的Rar.exe可从WinRar官网下载控制台版。

[C#]按钮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;              }          }