.Net/Winform
C# 계정을 이용한 Directory Lock & Unlock
동구밖과수원
2012. 8. 28. 16:06
/// <summary> /// Directory의 잠금을 해제합니다. /// </summary> /// <param name="folderPath"></param> private static void UnLock(string folderPath) { try { string adminUserName = Environment.UserName;// getting your adminUserName System.Security.AccessControl.DirectorySecurity ds = System.IO.Directory.GetAccessControl(folderPath); System.Security.AccessControl.FileSystemAccessRule fsa = new System.Security.AccessControl.FileSystemAccessRule(adminUserName, System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Deny); ds.RemoveAccessRule(fsa); System.IO.Directory.SetAccessControl(folderPath, ds); } catch (Exception ex) { } } /// <summary> /// Directory를 잠급니다. /// </summary> /// <param name="folderPath"></param> private static void Lock(string folderPath) { try { string adminUserName = Environment.UserName;// getting your adminUserName System.Security.AccessControl.DirectorySecurity ds = System.IO.Directory.GetAccessControl(folderPath); System.Security.AccessControl.FileSystemAccessRule fsa = new System.Security.AccessControl.FileSystemAccessRule(adminUserName, System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Deny); ds.AddAccessRule(fsa); System.IO.Directory.SetAccessControl(folderPath, ds); } catch (Exception ex) { } }