用 Delphi 的 WinExec() 调用 WinRar 的命令行方式,解压缩文件,能够得到调用是否成功的返回值,可是,如何能够得到 WinRar 在处理解压缩文件后的返回值?WinRar退出值
RAR 成功操作后返回 0 。非 0 返回码意味着操作由于某种错误被取消: 255 用会中断 用户中断操作 8 内存错误 没有足够的内存进行操作 7 用户错误 命令行选项错误 6 打开错误 打开文件错误 5 写错误 写入磁盘错误 4 被锁定档案 试图修改先前锁定的档案文件
使用 'k' 命令 3 CRC 错误 解压缩时发生一个 CRC 错误 2 致命错误 发生一个致命错误 1 警告 没有发生致命错误 0 成功 操作成功 (用户退出)
解决方案 »
- 怎样用delphi压缩access数据库?
- 问个关于OLE控件鼠标事件的问题...
- 如何用DELPHI制作浮动消息窗
- 100分跪求DEPHI(前台)+SQLSERVER(后台)的财务管理系统(源代码)或相关资料
- 一对多报表如何实现?急!!!谢谢!
- 如何判断另一个外部程序是否在运行(问题解决给50分)
- 想问一下走过来的前辈 郁闷ing……
- 高手请看:
- 在武汉可以给我提供就业机会的来
- 一个用Ado做的程序,在用户机子上是否要用sql server 的 client network utility 增加一个与ado datasource同名的服务器名?
- 打印模版设计?
- 求像QQ那样点击后可以上下移动,并显示不同内容或按钮的控件
var
PChTmp : PChar;
ExitCodes : dword; si : STARTUPINFO;
pi : PROCESS_INFORMATION;
begin
PChTmp := PChar(RarDir + '\rar.exe a ' + ArchiveName + ' ' + FileNames + ' ' + ArchiveOptions);
ZeroMemory(@si, sizeof(si));
si.cb := SizeOf(si);
if not CreateProcess( nil, PChTmp, nil, nil, False, 0, nil, nil, si, pi ) then
begin
ExitCodes := 999;
end
else
begin
WaitForSingleObject(pi.hProcess, INFINITE);
GetExitCodeProcess(pi.hProcess, ExitCodes);
end;
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
result := ExitCodes;
end;