Publié : mar. 11/juil./2006 19:42
Ok Flype, j'utilise déjà la méthode du MSDN pour l'envoi de fichiers à la corbeille, avec un ancien code que j'avais remis au goût de la v4, notamment concernant l'allocation et l'accès mémoire.
Mais ça ne fonctionne pas avec les fichiers en cours d'utilisation. je n'ai pas retouché aux flags dans la structure...
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.
@+
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.
@+