6 votes

Comment forcer la suppression de fichiers verrouillés en C/C++ ?

Comment forcer par programme la suppression de fichiers verrouillés par le système d'exploitation ou tout autre programme avec C/C++ ? La fonctionnalité devrait être similaire à celle du logiciel "Unlocker" à l'adresse suivante http://ccollomb.free.fr/unlocker .

5voto

CMS Points 315406

Regardez ce échantillon.

4voto

CesarB Points 18048

Si vous êtes sous Win32, la manière officielle de procéder est de marquer le fichier comme devant être supprimé au redémarrage et de demander à l'utilisateur de redémarrer. Pour marquer le fichier à supprimer au redémarrage, utilisez MoveFileEx avec l'indicateur MOVEFILE_DELAY_UNTIL_REBOOT (passez NULL comme destination).

1voto

dicroce Points 11988

Cela dépend vraiment du système de fichiers sous-jacent.

Par exemple, sous Linux, ext3 prend en charge les attributs de fichier qui ne font pas partie du paradigme standard unix read/write/execute/user/group/world.

Vous trouverez ici un bon résumé des attributs disponibles :

Cela m'a vraiment rendu fou la première fois que je l'ai rencontré, et même en tant que Root, et même après avoir redémarré à partir d'un CD enregistrable, je ne pouvais toujours pas supprimer un fichier de mon disque dur... BTW, les possibilités d'utilisation créative de ceci pour des blagues sont presque sans fin... :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X