2011-05-07 51 views
0

我使用的是win32。如果可能,我想用CreateFile()创建一个隐藏的,不可删除的文件。迄今为止我还没有尝试过任何东西,因为文档很复杂。
下面是一个例子,我的应用程序将是有用的。
假设我们有两个人住在同一个房间里,就像在大学里一样。其中一个总是在另一个人的笔记本电脑上,并删除一些东西的乐趣。另一个人可以让他的文件变得无法阻止他的另一位朋友删除他的文件。这只是一个基本的例子。创建不可删除的文件并隐藏

+5

你为什么要创建一个具有这些属性的文件? – icktoofay 2011-05-07 23:55:41

+0

你能说更多关于不可退货吗?你为什么想要这样做? – loosecannon 2011-05-07 23:55:52

+0

呃..很多原因。一它会保护人们免受喜欢删除文件的病毒 – Mike 2011-05-07 23:59:00

回答

6

无法创建隐藏的和不可删除的文件。

您可以得到的最接近的结果是创建一个具有隐藏属性的文件,并始终运行一个进程以保持文件锁定,防止删除。

这当然不会阻止用户检查文件夹选项中的“显示隐藏文件”,关闭锁定文件的进程或使用某个应用程序强制解锁文件。

+0

您可以混淆ACL以使其更难以删除,而不仅仅是设置文件属性。但是,我没有看到这样做的正当理由。 – 2011-05-08 00:36:14

+0

你可以编写自己的FSFD来实现它。 – 0xC0000022L 2011-05-08 00:53:29

1

使用NTFS权限来完成此操作有什么错误?即两个用户应拥有不同的用户帐户,其中只有一个拥有管理员权限。您无法保护用户免受管理员或管理员之间的相互攻击,因此“删除好玩”的人应该是普通用户。