Mais ça ne fonctionne pas avec les fichiers en cours d'utilisation. je n'ai pas retouché aux flags dans la structure...
Code : Tout sélectionner
Procedure MOVE_TO_RECYCLEBIN(DeletedFile.s)
Protected lpFileOp.SHFILEOPSTRUCT
If FileSize(DeletedFile) <> - 1
If Right(DeletedFile, 1) = "\"
DeletedFile = Left(DeletedFile, Len(DeletedFile) - 1)
EndIf
*Mem = AllocateMemory(Len(DeletedFile) + 2)
If *Mem
lpFileOp\hwnd = 0
lpFileOp\pTo = 0
lpFileOp\wFunc = #FO_DELETE
lpFileOp\pFrom = *Mem
lpFileOp\fFlags = #FOF_ALLOWUNDO | #FOF_NOCONFIRMATION
CopyMemoryString(DeletedFile, @*Mem)
CopyMemoryString(Chr(0))
CopyMemoryString(Chr(0))
SHFileOperation_(@lpFileOp)
FreeMemory(*Mem)
EndIf
EndIf
EndProcedure
Par contre la méthode de Gnozal fonctionne parfaitement pour laisser le fichier en cours d'utilisation de côté et ainsi éviter les arrêts brutaux.
Je n'ai pas beaucoup de temps, après la journée il faut que j'attaque la nuit, juste le temps de casser une croûte... demain je ferais quelques essais et mises à jour.
@+