保护单个文件!

时间:2009-12-24 15:32:29

标签: vb.net

我正在尝试保护文件夹及其中的文件 我能够保护文件夹本身,所以如果有人点击它,他会收到一条消息: “您目前无权访问此文件夹!”

但我仍然可以访问该文件夹中的文件。例如,如果有人知道文件夹中文件的名称,他可以输入D:\ ProtectedFolder \ pdffile.pdf,他可以打开文件!

所以,我的问题是:

我可以保护文件夹中的单个文件吗?

这是我用于文件夹锁定的功能:

   Public Function Lock(ByVal folder As
 String, ByVal user As String)
        Dim FilePath As String = folder
         Dim fs As FileSystemSecurity = File.GetAccessControl(FilePath)
         fs.AddAccessRule(New FileSystemAccessRule(user,
 FileSystemRights.ListDirectory,
 AccessControlType.Deny))
         fs.AddAccessRule(New FileSystemAccessRule(user,
 FileSystemRights.FullControl,
 AccessControlType.Deny))
         File.SetAccessControl(FilePath, fs)
       Return 0

    End Function

谢谢!

2 个答案:

答案 0 :(得分:2)

如果你想阻止它,你还必须拒绝FileSystemRights.Read。从技术上讲,你必须确保文件从文件夹继承了他们的权利。

答案 1 :(得分:0)

FileShare.None指定File.Open。您可以使用完整的源代码查看我的C#实现here。如果您愿意,可将其转换为VB.NET。

这是您尝试打开由应用程序锁定的文件时收到的消息:

alt text

我认为这就是你所追求的目标。