Определить, какой процесс (b) блокирует файл программно (в Windows >= XP)

Как программно определить из процесса P, какой другой процесс P'имеет блокировку файла, которая не позволяет P воссоздать этот файл?

Я знаю, что для этого есть инструменты, но как они этого добиваются?

(Контекст: пакетная программа, которая запускается в одночасье, не работает из-за заблокированного файла. Запуск инструмента администратора на следующий день может быть слишком поздно для получения полезной информации. Поэтому было бы неплохо, если бы сама пакетная программа смогла определить виновника.)

РЕДАКТИРОВАТЬ: Добавлена ​​сложность: файл находится в DFS, и P'может не работать на той же машине, что и P (но, возможно, делает). Но решение, которое работает локально, было бы хорошим началом.

0 ответов

Другие вопросы по тегам