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

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

940
0



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);
}
}

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

ЧИТАТЬ ТАКЖЕ:  Получение списка цветов в C #: Справочник по C#

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

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь