Il codice l'ho estratto da un mio applicativo che usa Win_ZIP, devi adattarlo:
In un modulo Bas:
codice:' Shell per il Backup con WinZip - programma VB resta in attesa che ' il programma lanciato termini: Declare Function OpenProcess Lib "kernel32" _ (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hprocess As Long, lpExitCode As Long) As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Const STILL_ACTIVE = &H103 Const PROCESS_QUERY_INFORMATION = &H400 '-------------------------------------------- 'Funzione per la copia ed il Backup con WinZip: Function RikShell(exe As String, Optional WinStyle) As Integer Dim processid As Long Dim hprocess As Long Dim exitcode As Long Dim parm As Integer 'Controllo il parametro opzionale finestra: Select Case VarType(WinStyle) Case vbEmpty, vbNull, vbError parm = vbNormalFocus Case vbLong, vbInteger, vbSingle, vbDouble parm = WinStyle Case Else parm = vbNormalFocus End Select 'Preleva l'ID del processo lanciato: processid = Shell(exe, parm) 'Crea un Handle per quel processo: hprocess = OpenProcess(PROCESS_QUERY_INFORMATION, False, processid) Do 'Controlla ripetutamente che termini la copia o il backup: Call GetExitCodeProcess(hprocess, exitcode) 'Lascia libero il sistema di processare le altre applicazioni: DoEvents Loop While (exitcode = STILL_ACTIVE) CloseHandle (hprocess) End Functioncodice:Nel modulo della Frm: 'Copia con WinZip: Case btComWZ = 1 FrmDialog.MousePointer = 11 LblDomanda.Caption = Space(0): LblRispo.Caption = Space(0) LblRispo.Caption = "Backup con la compressione dei dati in corso con WinZip" StringaComando = "C:\programmi\winzip\winzip32.exe -a -r " & ValoreDir & " " & FolOrig & "" 'C:\programmi\winzip\wzzip.exe 'Funzione per la copia ed il Backup - Modulo InfoFol: Call RikShell(StringaComando) Call LeggiDim LblRispo.Caption = "Programma di backup con WinZip terminato." LblRispo.Refresh 'Suono ding.wav - Modulo Connessione: Call SoundCopy FrmDialog.MousePointer = 0 End Select
PS: ValoreDir è il percorso destinazione e FolOrig d'origine.


Rispondi quotando