Подскажите кто сталкивался, как правильнее распаковывать файлы из программы. Пытась просто вызывать командную строку типа
arj e 1.arj но в этом случае как узнать распокавался он или нет.
alibek писал(а):Никак не будет, потому что это вообще не в тему. Err не ловит ошибки других приложений.
Sebas писал(а):Я не думаю, что arj.exe устанавливает код завершения. Давно это было...
Sebas писал(а):Я не думаю, что arj.exe устанавливает код завершения. Давно это было...
Option Explicit
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const SYNCHRONIZE = &H100000
Sub Main()
Dim hProcess As Long, ReturnCode As Long
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or SYNCHRONIZE, 0, Shell("c:\dos\util\arj l " + InputBox("Имя архива")))
WaitForSingleObject hProcess, -1
Debug.Assert GetExitCodeProcess(hProcess, ReturnCode)
CloseHandle hProcess
MsgBox ReturnCode, , "Код возврата"
End Sub
Sebas писал(а):А unrar.ocx, тут не прокатит? (не пробовал)
Сейчас этот форум просматривают: Yandex-бот и гости: 51