C # FileSystemWatcher заблокировать папку - PullRequest
0 голосов
/ 04 июня 2010

Я пытаюсь отслеживать папку, используя C # и FileSystemWatcher. все работает хорошо, кроме того, что я могу удалить папку, которую я на самом деле смотрю

Раньше я делал это в C, используя ReadDirectoryChangesW, создавая дескриптор папки и блокируя ее, что препятствовало удалению или переименованию пользователя в эту папку (я говорю о фактически отслеживаемой папке, а не о ее содержимом). )

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

(обратите внимание, что я не хочу изменять разрешения для папки, поскольку она может находиться на разделе FAT32 / на диске USB / etc, который не поддерживает разрешения)

1 Ответ

2 голосов
/ 04 июня 2010

Не уверен, если это опция, но вы можете создать (временный) файл в указанной папке и держать его открытым в течение «наблюдения». Вы должны будете убрать это снова после курса. (Вы можете даже дать ему скрытый атрибут, чтобы он не показывался «обычным» пользователям).

Не самое удачное решение, и файл будет замусориваться, когда ваша программа аварийно завершит работу перед удалением файла ...

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