Папка блокировки C# FileSystemWatcher

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

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

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

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


person Andrei S    schedule 04.06.2010    source источник


Ответы (1)


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

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

person deroby    schedule 04.06.2010