C#調用Rar文件并獲取Rar返回值

KirSNVD 8年前發布 | 674 次閱讀 C# c# 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;
            }
        }
 本文由用戶 KirSNVD 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!