本文實例講述了C#調用Rar文件及獲取Rar返回值的方法。分享給大家供大家參考。具體如下:
該程序適用于C#調用。
所需的Rar.exe可從WinRar官網下載控制臺版。
按鈕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; }}
希望本文所述對大家的C#程序設計有所幫助。
新聞熱點
疑難解答