Уведомление о закрытии файла - PullRequest
2 голосов
/ 11 февраля 2012

Я хочу знать, когда другое приложение завершит редактирование файла.

Мне известны FindFirstChangeNotification , ReadDirectoryChangesW и класс FileSystemWatcher Тем не менее, я думаю, что они могут только обнаружить создание файла и изменения.Что не позволит мне узнать, есть ли в файле содержимое, которое будет записано в него в будущем или нет.Одним из решений было бы подождать, чтобы убедиться, что все данные были записаны, но я чувствую, что должен быть лучший способ.

Я хотел бы знать, когда процесс записи в файл закрывает дескриптор, который у меня есть, ядумаю, что написание драйвера фильтра файловой системы может позволить это, кто-нибудь может подтвердить?Или предоставьте другой метод, который я мог бы использовать.Также я бы предпочел не полагаться на что-то вроде .net, но я бы не стал исключать это.

Заранее большое спасибо.

1 Ответ

3 голосов
/ 11 февраля 2012

Вы можете опрашивать это, пытаясь открыть файл в монопольном режиме.

В Windows вы можете использовать OpenFile с OF_SHARE_EXCLUSIVE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...