C#调用Rar文件及获取Rar返回值的方法
本文实例讲述了C#调用Rar文件及获取Rar返回值的方法。分享给大家供大家参考。具体如下:
该程序适用于C#调用。
所需的Rar.exe可从WinRar官网下载控制台版。
按钮OK点击事件:
System.Diagnostics.Processprocess;
privatevoidbtnRAR_Click(objectsender,EventArgse)
{
if(System.IO.File.Exists("Rar.exe"))
{
try
{
process=newSystem.Diagnostics.Process();
process.StartInfo.FileName="Rar.exe";
process.StartInfo.WindowStyle=System.Diagnostics.ProcessWindowStyle.Minimized;
process.EnableRaisingEvents=true;
//m<0..5>设置压缩级别(0-存储...3-默认...5-最大)
//rara-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.rarD:\Txt";
process.Exited+=newEventHandler(RarStop);
process.Start();
}
catch(Exceptionex)
{
MessageBox.ShowError("发生错误!错误信息:\n"+ex.Message);
}
}
}
进程退出时判断返回值:
privatevoidRarStop(objectsender,System.EventArgse)
{
switch(process.ExitCode)
{
case0:
MessageBox.ShowInformation("压缩成功!");
break;
case1:
MessageBox.ShowInformation("有错误但没有发生致命错误!");
break;
case2:
MessageBox.ShowError("发生一个致命错误!");
break;
case3:
MessageBox.ShowError("解压缩时发生一个CRC错误!");
break;
case4:
MessageBox.ShowError("试图修改先前使用'k'命令锁定的压缩文件!");
break;
case5:
MessageBox.ShowError("写入磁盘错误!");
break;
case6:
MessageBox.ShowError("打开文件错误!");
break;
case7:
MessageBox.ShowError("命令行选项错误!");
break;
case8:
MessageBox.ShowError("没有足够的内存进行操作!");
break;
case9:
MessageBox.ShowError("创建文件错误!");
break;
case255:
MessageBox.ShowError("用户中断操作");
break;
default:
MessageBox.ShowError("未知错误!");
break;
}
}
希望本文所述对大家的C#程序设计有所帮助。