/// <summary> /// Creates directory if it doesn't exist. Returns short name of the directory and set access right if <paramref name="setAllUsersAccess"/> set to true. /// </summary> public static string CreateDirectory(string folder, bool setAllUsersAccess = true) { string res = folder.GetShortFileName(); if (res.IsEmpty()) { string parentFolder = folder.ExtractDirectory(false); CreateDirectory(parentFolder, setAllUsersAccess); WinApi.CreateDirectory(AddLongPathPrefix(folder), IntPtr.Zero); res = folder.GetShortFileName(); if (res.IsEmpty()) { return(folder); } if (setAllUsersAccess) { res.SetPermissions("USERS", FileSystemRights.FullControl, AccessControlType.Allow); } } else if (setAllUsersAccess) { res.SetPermissions("USERS", FileSystemRights.FullControl, AccessControlType.Allow); } return(res); }