如何使文件夹不可删除?

时间:2010-08-03 06:30:52

标签: c#

如何使文件夹无法删除?

或者,我如何请求Windows用户提供删除它的通行证。

问候。

3 个答案:

答案 0 :(得分:6)

您使用Directory.SetAccessControl方法。这个链接上有一个例子,但这里只是以下情况:

public static void AddDirectorySecurity(string FileName, string Account, 
                      FileSystemRights Rights, AccessControlType ControlType)
{
    // Create a new DirectoryInfo object.
    DirectoryInfo dInfo = new DirectoryInfo(FileName);

    // Get a DirectorySecurity object that represents the 
    // current security settings.
    DirectorySecurity dSecurity = dInfo.GetAccessControl();

    // Add the FileSystemAccessRule to the security settings. 
    dSecurity.AddAccessRule(new FileSystemAccessRule(Account,
                                                    Rights,
                                                    ControlType));

    // Set the new access settings.
    dInfo.SetAccessControl(dSecurity);
}

答案 1 :(得分:1)

另一种方法是使用ADSI:MSDN有一个关于如何使用C#在NTFS驱动器上设置文件和文件夹权限的示例:

  

<强> How to programmatically set NTFS file system folder permissions by using Active Directory Service Interfaces in Microsoft Visual C#

答案 2 :(得分:0)

早上好,

google.com上的“make folder undeletable”

给了我: http://www.techtipsgeek.com/secure-private-folders-making-inaccessible-undeletable/104/

您的目标操作系统是什么?您可以在较新版本的Windows中设置文件夹权限。