2010-06-04 3 views
0

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

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

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

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

ответ

2

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

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