Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/01/2009, 03:05
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Detectar la finalización de un FileCopy

Cita:
Iniciado por ci2000 Ver Mensaje
Hola, en un botón quiero colocar:

FileCopy origen, destino
MsgBox "Copia terminada"

El problema que se me presenta es que al comenzar a copiar el archivo inmediatamente muestra el mensaje Copia terminada.

Quiero que este mensaje aparezca una vez que el archivo se terminó de copiar.

Desde ya, muchas gracias por las respuestas.
Saludos
Hola, puedes utilizar la API SHFileOperation que mientras está copiando muestra la tipica ventana con una barra de progreso y el texto "Quedan xx segs"

Código:
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Const FO_COPY = &H2

Private Type SHFILEOPSTRUCT
    hWnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Boolean
    hNameMappings As Long
End Type


Private Sub Command1_Click()
ProgresoCopia "c:\MisAplicaciones\Archivo.xxx", "D:\MisCopias\copia de Archivo.xxx"
End Sub

Public Sub ProgresoCopia(sFuente As String, sDestino As String)
Dim SHOp As SHFILEOPSTRUCT
With SHOp
    .hWnd = 0
    .wFunc = FO_COPY
    .pFrom = sFuente
    .pTo = sDestino
End With
SHFileOperation SHOp
End Sub
Puedes copiar un archivo en concreto o todo un directorio.