Справочник по C#

    Исходники по языку программирования CSharp

    Блокировка и разблокирование папки(Lock And Unlock A Folder): Справочник по C#

    /
    /
    /
    49 Views



    1)Подключаем пространство имен:

    using System.IO;
    using System.Security.AccessControl;
    

    2)Добавляем необходимые компоненты, нам понадобятся:
    – textBox(textBox1)
    – folderBrowserDialog(folderBrowserDialog1)
    – button(btnBrowse)
    – button(btnLock)
    – button(btnUnLock)

    Для выбора директории, в кнопке btnBrowse прописываем открытие folderBrowserDialog1, чтобы выбрать необходимую нам папку и отображение нашего выбора в textBox1:

    private void btnBrowse_Click(object sender, EventArgs e)
    {
    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
    {
    textBox1.Text = folderBrowserDialog1.SelectedPath;
    }
    }
    

    3)Прописываем код для кнопок блокировки и разблокировании:

    private void btnLock_Click(object sender, EventArgs e)
    {
    try
    {
    string folderPath = textBox1.Text;
    string adminUserName = Environment.UserName;// getting your adminUserName
    DirectorySecurity ds = Directory.GetAccessControl(folderPath);
    FileSystemAccessRule fsa = new FileSystemAccessRule(adminUserName,  FileSystemRights.FullControl, AccessControlType.Deny)
    
    ds.AddAccessRule(fsa);
    Directory.SetAccessControl(folderPath, ds);
    MessageBox.Show("Locked");
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }
    
    private void btnUnLock_Click(object sender, EventArgs e)
    {
    try
    {
    string folderPath = textBox1.Text;
    string adminUserName = Environment.UserName;// getting your adminUserName
    DirectorySecurity ds = Directory.GetAccessControl(folderPath);
    FileSystemAccessRule fsa = new FileSystemAccessRule(adminUserName,  FileSystemRights.FullControl, AccessControlType.Deny)
    
    ds.RemoveAccessRule(fsa);
    Directory.SetAccessControl(folderPath, ds);
    MessageBox.Show("UnLocked");
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }
    

    Результат при попытки попасть в заблокированную директорию:

    Блокировка и разблокирование папки(Lock And Unlock A Folder): Справочник по C#

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest
    moyadcode10
    moyadcode11
    moyadcode9