我正在尝试保护文件夹及其中的文件 我能够保护文件夹本身,所以如果有人点击它,他会收到一条消息: “您目前无权访问此文件夹!”
但我仍然可以访问该文件夹中的文件。例如,如果有人知道文件夹中文件的名称,他可以输入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
谢谢!
答案 0 :(得分:2)
如果你想阻止它,你还必须拒绝FileSystemRights.Read。从技术上讲,你必须确保文件从文件夹继承了他们的权利。
答案 1 :(得分:0)
为FileShare.None
指定File.Open
。您可以使用完整的源代码查看我的C#实现here。如果您愿意,可将其转换为VB.NET。
这是您尝试打开由应用程序锁定的文件时收到的消息:
我认为这就是你所追求的目标。