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

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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;
            }
        }

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php 简单的增删改查

下一篇:C#生成高品质小空间的缩略图