Api # Per emulare l'animazione del file che vola da una cartella ad un'altra, esiste
una funzione API che gestisce tutta l'operazione: Dichiarazioni da inserire In un modulo Bas Public Const FO_COPY As Long = &H2 Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Long fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String End Type Declare Function SHFileOperation Lib "Shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Codice per eseguire la copia da inserire In una procedura (per esempio Command_Click) Private Sub Command1_Click() Dim result As Long Dim fileop As SHFILEOPSTRUCT With fileop .hwnd = Me.hwnd .wFunc = FO_COPY ' Possono essere copiati piu' file i quali devono essere separati da un carettere nullo, ' e la lista deve essere terminata da 2 caratteri nulli... .pFrom = "C:\ESEMPIO\MIOFILE.TXT" & vbNullChar & "C:\ESEMPIO\MIOHELP.HLP" & _ vbNullChar & vbNullChar ' ...oppure possono essere copiati tutti i file's di una directory utilizzando 'questa riga di codice '.pFrom = "C:\ESEMIPO\*.*" & vbNullChar & vbNullChar ' La destinazione dei file's deve essere terminata con due caratteri nulli .pTo = "C:\testfolder\" & vbNullChar & vbNullChar .fFlags = FOF_SIMPLEPROGRESS Or FOF_FILESONLY End With 'Esegue l'operazione result = SHFileOperation(fileop) If result <> 0 Then 'Si e' verificato un errore MsgBox Err.LastDllError 'Visualizza l'errore riportato dalla chiamata alla dll Else If fileop.fAnyOperationsAborted <> 0 Then 'Operazione annullata MsgBox "Operazione annullata dall'utente!" End If End If End Sub |