4 系统详细设计及编码实现
4.1 核心编码
4.1.1 关于权限修改的代码
/// <summary>
/// 更改控制权限,核心代码 /// </summary>
/// <param name="flag">flag = false 表示增添某一个禁止控制列表,flag = true 表示这个禁止的列表</param>
/// <param name="power"></param>
private void ChangeAccessRuleList(bool flag, FileSystemRights power) {
filePath[0] = textBox_FilePath.Text.ToString(); if (System.IO.File.Exists(filePath[0]) == true) {//如果是文件
FileInfo fileInfo = new FileInfo(filePath[0]); FileSecurity fs = fileInfo.GetAccessControl(); if (power == FileSystemRights.Delete)
{//如果发过来的权限是删除或者移动,则不采用常规方法来进行权限设置,采用打开文件的方法 //来变相的对文件权限进行“修改”,因为当另外一个程序(即本程序),在进行读取操作
//其他操作是不能对该文件进行移动和删除的。 if (AlreadyOpen == false)
{//如果文件还没有打开,我们要对文件进行保护 try {
fstream = new FileStream(filePath[0], FileMode.Open, FileAccess.Read); }
catch (Exception e) {
MessageBox.Show(e.Message); } finally { }
AlreadyOpen = true; } else {
if (flag == true) {//取消禁止移动和删除 fstream.Close(); AlreadyOpen = false; } } } else
{//如果发过来的是普通权限操作,即按照正常对文件权限修改的方法来修改设置。 if (flag == false) //禁止功能
fs.AddAccessRule(new FileSystemAccessRule(http://www.77cn.com.cnerName, power, AccessControlType.Deny)); else
//取消禁止功能
fs.RemoveAccessRule(new FileSystemAccessRule(http://www.77cn.com.cnerName, power, AccessControlType.Deny)); }
fileInfo.SetAccessControl(fs);
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库信息安全_082_2008122059_陈根_文件监控终端系统_文档(11)在线全文阅读。
相关推荐: