Каким приложением занят файл?

Частенько возникает ситуация, когда операционная система Windows ни за какие коврижки не соглашается удалить файл. Как правило, это свидетельствует о том, что объект уже занят одним из запущенных процессов. А как узнать, каким именно?

Очень просто: при помощи бесплатной утилиты WhoLockMe (74 кб) (http://www.dr-hoiby.com/WhoLockMe/). Проверим?

Моделируем исходную критическую ситуацию, добиваясь следующей картины:

/
 
 
Далее скачиваем архив с программой, распаковываем в выбранную директорию и запускаем файл install.bat для регистрации библиотеки wholockme.dll в системе. Напомним, что утилита работоспособна только в ОС Windows линейки NT.

Теперь, зайдя в Проводник и кликнув правой кнопкой мыши по любому объекту на жестком диске (будь то файл или отдельная папка), можно в контекстном меню обнаружить опцию Who Lock Me?, активация которой выдаст полный список процессов, удерживающих данные.

 <!—IMG2—>/<!—IMG2—>
 
Доступна следующая информация:

 — Locker Name — имя процесса, заблокировавшего файл
 — PID — идентификатор процесса
 — Opened File — название открытого файла
 — Handle — дескриптор файла
 — Domain/User — данные о пользователе и домене, в котором он работает
 — Locker Full Path — полный путь к исполняемому файлу или модулю процесса
И это не все. Есть еще магическая кнопка Kill Process, позволяющая прихлопнуть любой выбранный процесс. Возможен выбор сразу нескольких объектов (это достигается удерживанием клавиши Ctrl).

Ну, что можно еще добавить? WhoLockMe — без сомнения, полезный инструмент, который сгодится в хозяйстве любому пользователю, а уж системным администраторам — тем более. Жаль только, что развитие утилиты застыло на стадии бета-версии еще три года назад…