Ejemplo n.º 1
0
        private static FileAttributes loadAttributes(IShellFolder2 iShellFolder, PIDL pidlFull, PIDL pidlRel)
        {
            FileAttributes retVal = new FileAttributes();


            //ShellAPI.SFGAO attribute = shGetFileAttribute(pidlFull, ShellAPI.SFGAO.READONLY |
            //    ShellAPI.SFGAO.FOLDER | ShellAPI.SFGAO.FILESYSTEM | ShellAPI.SFGAO.STREAM | ShellAPI.SFGAO.FILESYSANCESTOR |
            //    ShellAPI.SFGAO.HIDDEN);
            ShellAPI.SFGAO attribute = ShellAPI.SFGAO.READONLY | ShellAPI.SFGAO.FOLDER | ShellAPI.SFGAO.FILESYSTEM | ShellAPI.SFGAO.STREAM | ShellAPI.SFGAO.FILESYSANCESTOR;
            iShellFolder.GetAttributesOf(1, new IntPtr[] { pidlRel.Ptr }, ref attribute);

            if (!IOTools.IsZip(attribute) && (attribute & ShellAPI.SFGAO.FOLDER) != 0)
            {
                retVal |= FileAttributes.Directory;
            }
            if ((attribute & ShellAPI.SFGAO.HIDDEN) != 0)
            {
                retVal |= FileAttributes.Hidden;
            }
            if ((attribute & ShellAPI.SFGAO.READONLY) != 0)
            {
                retVal |= FileAttributes.ReadOnly;
            }

            return(retVal);
        }
Ejemplo n.º 2
0
 public int GetAttributesOf(uint cidl, IntPtr[] apidl, ref ShellAPI.SFGAO rgfInOut)
 {
     checkDisposed();
     return(_iShellFolder2.GetAttributesOf(cidl, apidl, ref rgfInOut));
 }