Ce que tu peux faire, c'est créer une application (ou injecter une DLL ??) qui mappe le fichier en mémoire dans un TFileStream, avec les droits exclusifs Read/Write, et avec la modération d'accès à fmShareExclusive ...
LockStream := TFileStream.Create(AFileName, fmOpenReadWrite, fmShareExclusive);
Normalement, tant que le fichier est toujours mappé dans le stream (tant que LockStream n'a pas été libéré), aucune application ne sera en mesure de supprimer le fichier, ni de le lire, ni de le modifier.
Evidemment cette technique ne résistera probablement pas aux ShellFileOperation tout-puissants ...
Cordialement, Bacterius !
|