コード例 #1
0
ファイル: FShellObject.cs プロジェクト: whztt07/MoCross
        public void RefreshInfo()
        {
            // Name
            if (_parent != null && _parent is FShellFolder)
            {
                FShellFolder folder = (FShellFolder)_parent;
                _name = folder.GetSubObjectName(_handle);
            }
            // Info
            SShFileInfo    info = new SShFileInfo();
            EShGetFileInfo flag = EShGetFileInfo.Pidl |
                                  EShGetFileInfo.DisplayName |
                                  EShGetFileInfo.TypeName |
                                  EShGetFileInfo.Pidl |
                                  EShGetFileInfo.Icon |
                                  EShGetFileInfo.SmallIcon |
                                  EShGetFileInfo.SysIconIndex;
            IntPtr rsPtr = RShell32.SHGetFileInfo(FullPidl.Ptr, 0, ref info, Marshal.SizeOf(typeof(SShFileInfo)), flag);

            if (_name == null)
            {
                _name = info.szDisplayName;
            }
            _icon = info.iIcon;
        }
コード例 #2
0
        public static int GetLargeIconIndex(IntPtr ipIDList)
        {
            SShFileInfo    psfi   = new SShFileInfo();
            EShGetFileInfo dwflag = EShGetFileInfo.Icon | EShGetFileInfo.LargeIcon | EShGetFileInfo.Pidl | EShGetFileInfo.SysIconIndex;
            IntPtr         ipIcon = RShell32.SHGetFileInfo(ipIDList, 0, ref psfi, Marshal.SizeOf(psfi), dwflag);

            return(psfi.iIcon);
        }
コード例 #3
0
ファイル: RShell32.cs プロジェクト: whztt07/MoCross
 public static extern IntPtr SHGetFileInfo(
     string Path,
     EFileAttribute fileAttributes,
     out SShFileInfo sfi,
     int cbFileInfo,
     EShGetFileInfo flags);
コード例 #4
0
ファイル: RShell32.cs プロジェクト: whztt07/MoCross
 public static extern IntPtr SHGetFileInfo(
     IntPtr ppidl,
     EFileAttribute dwFileAttributes,
     ref SShFileInfo sfi,
     int cbFileInfo,
     EShGetFileInfo uFlags);