Introduction
Les utilisateurs de Windows connaissent probablement le message « L'action ne peut pas être terminée car le fichier est ouvert dans un autre programme ». Ce problème est présent dans Windows depuis des décennies et ne signifie pas toujours ce qu'il indique. Mark Russinovich, CTO d'Azure et Technical Fellow chez Microsoft, a récemment abordé ce problème.
Contexte Technique
Lorsqu'un programme ouvre un fichier, Windows crée un « file handle », qui est une référence utilisée par Windows pour suivre quel programme a accès à quel fichier à un moment donné. Windows n'autorise pas la suppression ou la renommage d'un fichier tant qu'un handle ouvert existe, car cela pourrait corrompre les données que le programme est en train de traiter.
Russinovich identifie trois raisons courantes pour lesquelles un fichier reste verrouillé après la fermeture d'une application : le logiciel antivirus qui scanne le fichier, le fichier référencé à partir d'un autre ordinateur sur le réseau, et le scénario de la bibliothèque de liens dynamiques (DLL) où le fichier est chargé dans un processus et ne s'affiche pas comme un handle de fichier.
Analyse et Implications
Les outils comme Handle et Process Explorer, développés par Russinovich, peuvent aider à identifier le processus responsable du verrouillage d'un fichier. Ces outils sont désormais maintenus par Microsoft et offrent une solution pour diagnostiquer et résoudre ce problème.
Microsoft propose également une solution plus conviviale avec PowerToys, qui inclut File Locksmith, permettant aux utilisateurs de déverrouiller des fichiers verrouillés sans avoir recours à la ligne de commande.
Perspective
Le problème des fichiers verrouillés est profondément ancré dans Windows et nécessite des outils spécialisés pour le résoudre. Les utilisateurs doivent être conscients de ces limitations et utiliser les outils appropriés pour gérer ces situations. L'intégration de Sysinternals dans PowerToys offre une solution plus accessible pour les utilisateurs réguliers.