隐藏属性没有完全隐藏文件?

时间:2017-08-10 09:28:01

标签: c# file

假设某个文件具有属性Hidden但是当我取消选中隐藏受保护的操作系统文件时,文件夹选项文件是可见的。

Io.File.SetAttributes("File.txt",IO.FileAttributes.Hidden)

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

从您希望隐藏文件并且永远不会看到允许显示隐藏文件和文件夹的角度来看,您可以限制目录访问权限,这样就不会让您首先打开目录。这段代码可以使用:

DirectorySecurity dirSecurity;
bool modifiedFlag;

dirSecurity = Directory.GetAccessControl(yourFolderPath);

foreach (AuthorizationRule rule in dirSecurity.GetAccessRules(true, true, typeof(System.Security.Principal.SecurityIdentifier)))
{
      // Secure file to not allow any modification actions by user
      dirSecurity.ModifyAccessRule(AccessControlModification.Add
                                   , new FileSystemAccessRule(rule.IdentityReference, FileSystemRights.Modify, AccessControlType.Deny)
                                   , out modifiedFlag);
}

Directory.SetAccessControl(yourFolderPath, dirSecurity);

这样做会阻止用户打开文件夹。