0

我正在尝试使用 C# 和 FileSystemWatcher 监视文件夹。一切正常,除了我可以删除我实际正在观看的文件夹

我曾经在 C 中使用 ReadDirectoryChangesW 执行此操作,方法是创建文件夹的句柄并将其锁定,从而防止从用户删除或重命名到该文件夹​​(我说的是实际受监控的文件夹,而不是它的内容)

有没有办法锁定该文件夹,这样人们在观看时就不会删除它?

(请注意,我不想更改文件夹的权限,因为它可能位于不支持权限的 FAT32 分区/USB 驱动器/etc 上)

4

1 回答 1

2

不确定这是否是一个选项,但您可以在所述文件夹中创建一个(临时)文件,并在“观看”期间保持打开状态。离开课程后,您需要再次清理它。(你甚至可以给它隐藏属性,这样它就不会显示给“普通”用户)。

不是最好的解决方案,当您的程序在删除文件之前崩溃时,文件将继续乱扔垃圾......

于 2010-06-04T11:07:41.027 回答