C#调用Rar文件及获取Rar返回值的方法
程序员文章站
2023-12-12 20:29:22
本文实例讲述了c#调用rar文件及获取rar返回值的方法。分享给大家供大家参考。具体如下:
该程序适用于c#调用。
所需的rar.exe可从winrar官网下载控制台...
本文实例讲述了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#程序设计有所帮助。