Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254

    [c#] Spostare file senza la File.Move

    Salve,


    Ho una libreria che gestisce lo spostamento dei file.

    Nella libreria uso un thread per fare il File.Move in modo da non bloccare l'esecuzione del codice.

    Capita però che mi serva l'arresto dell'operazione di Move e la File.Move non è bloccabile a quanto pare.

    Esiste un metodo (che non sia la copia + cancellazione del file) per fare il move di un file bloccabile in qualsiasi momento?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Penso che dovresti provare studiando come utilizzare la API

    MoveFileTransacted

    con il C# ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Grazie mille Oregon.

    Hai per caso qualche risorsa su questa API?
    Vedo che Pinvoke.net non la riporta nemmeno..

    PS: Funziona anche con operazioni in rete?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    MSDN è sempre il riferimento

    http://msdn.microsoft.com/en-us/library/aa365241(v=vs.85).aspx

    Alla fine trovi anche la firma per C#

    (P.S. Potresti anche usare la MoveFileWithProgress ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Si si ho trovato il riferimento con un po' di pazienza, ma sulla possibilità di annullare la move non ho trovato nulla

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Stoicenko
    Si si ho trovato il riferimento con un po' di pazienza, ma sulla possibilità di annullare la move non ho trovato nulla
    Ad un certo punto c'è scritto ...

    "When moving a file across volumes, if lpProgressRoutine returns PROGRESS_CANCEL due to the user canceling the operation, MoveFileTransacted will return zero and GetLastError will return ERROR_REQUEST_ABORTED. The existing file is left intact."
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Grazie mille.. Non avevo letto con attenzione.. Ora funziona perfettamente!


  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Stoicenko
    Grazie mille.. Non avevo letto con attenzione.. Ora funziona perfettamente!

    Di nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.