Per sapere lo stato del progresso non puoi certo delegare la copia ad un'altra funzione. Devi scrivere un codice che copi "manualmente" tutti i file e le cartelle ivi contenute, così da avere controllo sui dati in questione. Da questi puoi desumere la dimensione della cartella iniziale e quella dei file copiati, quindi calcolare il rapporto e perciò la percentuale di avanzamento. Questo può essere fatto in modo sincrono o asincrono. Fortemente consigliata la seconda scelta, come diceva ruggy, per evitare di bloccare il thread principale.
|