Ce n’est pas une vraie réponse, mais une solution de contournement:
Déplacez le répertoire vers un sous-répertoire spécifique à votre application, qui se trouve sur le même volume.
Avantages:
- Empêche les utilisateurs et les autres programmes de modifier le fichier à l’ancien emplacement, car les fichiers ne seront plus là
- Surtout, échouera si un processus a déjà un fichier ouvert dans ce répertoire, assurant ainsi que le verrou “acquis” est bien “exclusif”
Désavantages:
- C’est un hack
- Le logiciel devra être adapté pour fonctionner avec le répertoire sur un chemin différent de celui dans lequel il se trouvait initialement.
- Les utilisateurs et les programmes qui tentent d’accéder aux fichiers rencontreront un comportement ou des erreurs inhabituels (“Path not found” au lieu de “Access denied”)
- Ne protège pas contre les programmes susceptibles de pénétrer dans votre sous-répertoire spécifique à l’application
- Laissera le répertoire “verrouillé” (déplacé vers un emplacement que l’utilisateur ne pourra probablement pas trouver) si votre programme plante pendant que le “verrou” est “bloqué”