C#_设置文件夹访问权限
来源:互联网 发布:文明5 mac 中文 编辑:程序博客网 时间:2024/06/04 17:49
C# 设置文件夹访问权限
Applying permissions on folders/directories in Windows is one ofthe things developers want to control with their applications. Today we aregoing to look at how can we create such an application in C# which can defineany kind of permission to any user account in Windows environment.
Start Visual Studio and create a new C# Windows application. Nameit DirectoryPermission and Create an interface whichlooks similar to the one below:
1. Change the text of your window to Folder Permission or any other you like.
2. Drag two labels, two buttons, 1 textbox and 1 combo box on theform. Name the buttons as SelectDirectorybtn andPermissionbtn andleave the names of others as default.
3. Now we need to add two references, for that right-click yourproject root and select Addreference.
4. From the Add Reference Menu, add following two highlightedreferences.
Both of these references actually help us interact with OperatingSystem’s account management and queries.
5. Right click on your Windows Form and Select View Code.
6. First of all we will define the references that we added inStep 4. We’ll also add System.IO andSystem.Security.AccessControl
1: using System.IO;
2: using System.Security.AccessControl;
3: using System.Management;
4: using System.Management.Instrumentation;
7. Now we are going to define a method which will fill ourcombobox with names of all user account.
1: public void GetUsers()
2: {
3: // This query will query for all user account names in our current Domain
4: SelectQuery sQuery = new SelectQuery("Win32_UserAccount", "Domain='" + System.Environment.UserDomainName.ToString() + "'");
5:
6: try
7: {
8: // Searching for available Users
9: ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(sQuery);
10:
11: foreach (ManagementObject mObject in mSearcher.Get())
12: {
13: // Adding all user names in our combobox
14: comboBox1.Items.Add(mObject["Name"]);
15: }
16: }
17: catch (Exception ex)
18: {
19: MessageBox.Show(ex.ToString());
20: }
21: }
Note: System.Environment.UserDomainName is going to deliverus our current domain.
8. In order to make the above method effective, we need to modifyour form constructor.
1: public Form1()
2: {
3: InitializeComponent();
4: GetUsers();
5: }
9. Now we’ll go back to our design window and double click SelectDirectory button to define its clicking event. Change the definition tofollowing;
1: private void SelectDirectorybtn_Click(object sender, EventArgs e)
2: {
3: // creating a new instance fot FolderBrowsingDialog
to provide user capability to select target Folder
4: FolderBrowserDialog myFolderBrowserDialog = new FolderBrowserDialog();
5:
6: // showing dialog
7: myFolderBrowserDialog.ShowDialog();
8:
9: // Show the path of selected directory in our text Box
10: textBox1.Text myFolderBrowserDialog.SelectedPath.ToString();
11: }
10. Move back to your design view and add a Click event to thesecond button i.e. MakeUnreadable, double click it to modify the event.
1: private void Permissionbtn_Click(object sender, EventArgs e)
2: {
3: // retrieving the directory information
4: DirectoryInfo myDirectoryInfo = new DirectoryInfo(textBox1.Text);
5:
6: // Get a DirectorySecurity object that represents the
7: // current security settings.
8: DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
9: string User = System.Environment.UserDomainName + "\\" + comboBox1.SelectedItem.ToString();
10:
11: // Add the FileSystemAccessRule to the security settings.
// FileSystemRights is a big list we are current using Read property but you
// can alter any other or many sme of which are:
12: // Create Directories: for sub directories Authority
13: // Create Files: for files creation access in a particular folder
14: // Delete: for deletion athority on folder
15: // Delete Subdirectories and files: for authority of deletion over
//subdirectories and files
16: // Execute file: For execution accessibility in folder
17: // Modify: For folder modification
18: // Read: For directory opening
19: // Write: to add things in directory
20: // Full Control: For administration rights etc etc
21:
22: // Also AccessControlType which are of two kinds either “Allow” or “Deny”
23: myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User,
FileSystemRights.Read, AccessControlType.Deny));
24:
25: // Set the new access settings.
26: myDirectoryInfo.SetAccessControl(myDirectorySecurity);
27:
28: // Showing a Succesfully Done Message
29: MessageBox.Show("Permissions Altered Successfully");
30: }
That’s it. Compile and execute the application to test results. Ifyou have any queries feel free to ask… Cheers!
- C#_设置文件夹访问权限
- XP文件夹访问权限设置
- C# 设置文件夹访问权限
- 设置文件夹访问权限,非文件夹属性
- XP中文件夹访问权限的设置
- 设置磁盘,文件夹,文件访问权限
- PHP对文件夹做访问权限设置
- mkdir中设置文件夹访问权限不起作用
- 配置共享文件夹--不同文件夹设置不同访问权限
- Windows中合理设置共享文件夹访问权限
- XP NTFS分区 中文件夹访问权限的设置
- 在XP操作系统中设置文件夹的访问权限
- 用cacls命令设置磁盘,文件夹,文件访问权限
- Web.config 设置项目文件夹的访问权限
- 文件夹访问权限
- 图文:windows7文件夹权限添加_解决目标文件夹访问被拒绝
- c# 设置文件夹权限
- 批量设置文件夹权限
- 使用特殊的技术更新数据库(ABAP)
- ListCtrl控件中的数据保存到EXCEL
- 跨越DLL边界传递CRT对象潜在的错误
- unresolved external symbol _RtlStringVPrintfWorkerW 驱动函数链接错误解决
- Asp.net 之TreeView重要
- C#_设置文件夹访问权限
- 【c++】初识指针[new&malloc]
- WINDOWS 同步
- js弹出窗口详解
- java中重定向和转发的差别
- 例题3-6
- #遍历E盘下的mp3文件
- UVa 11992 - Fast Matrix Operations 成段更新,求最值与和
- Liferay安装笔记(默认安装使用Mysql数据库)