FileSystemWatcher не запускается для открытых файлов C #

Я работаю с FileSystemWatcher для отслеживания открытых файлов. Но у меня вопрос, почему он не запускает события для открытых файлов. Я включил "Измененные", "Созданные", "Удалить" и "Переименованные события", но они не срабатывают при открытии файлов. Что ж, в случае docx он просматривает ~! Me.docx, который является временным файлом. Он просто работает, когда файл создается или сохраняется.

В классе нет события Opened, может быть, этот класс не используется для просмотра открытых файлов ??

Не могли бы вы помочь мне с этим вопросом? Мне нужно смотреть только что открытые файлы. Я использую Win7 x64, у меня есть эти фильтры: FileName, attributes, lastAccess, LastWrite,


person Jio    schedule 10.08.2013    source источник
comment
Для этого вам нужно будет смотреть дескрипторы файлов,   -  person It'sNotALie.    schedule 10.08.2013
comment
Вы включаете события changed, created, deleted и renamed, но удивлены, что вы ничего не получите для opened файлов?   -  person user1908061    schedule 10.08.2013
comment
Нет, вы не можете использовать FileSystemWatcher, чтобы получать уведомления о событиях OPEN файла. См. Здесь stackoverflow.com/questions/14779616/   -  person Steve    schedule 10.08.2013


Ответы (2)


Похоже, вы не можете использовать FileSystemWatcher для того, что хотите, и вам нужно работать с функцией Win32 ReadDirectoryChangesW.

person Saeed Neamati    schedule 10.08.2013

Ссылка, которую Стив опубликовал в комментариях, оказалась полезной. FileSystemWatcher следит за открытыми файлами, но мы должны включить отметку времени Lass Access TimeStamp в Windows. Теперь я должен оценить эффективность этого. Спасибо, Стив.

person Jio    schedule 11.08.2013