vbAccelerator.Components.ImageList.SysImageList.SHGetFileInfo C# (CSharp) Метод

SHGetFileInfo() приватный Метод

private SHGetFileInfo ( string pszPath, int dwFileAttributes, SHFILEINFO &psfi, uint cbFileInfo, uint uFlags ) : IntPtr
pszPath string
dwFileAttributes int
psfi SHFILEINFO
cbFileInfo uint
uFlags uint
Результат System.IntPtr
        private static extern IntPtr SHGetFileInfo(
            string pszPath,
            int dwFileAttributes,
            ref SHFILEINFO psfi,
            uint cbFileInfo,
            uint uFlags);

Usage Example

Пример #1
0
        public int IconIndex(string fileName, bool forceLoadFromDisk, ShellIconStateConstants iconState)
        {
            SysImageList.SHGetFileInfoConstants sHGetFileInfoConstants = SysImageList.SHGetFileInfoConstants.SHGFI_SYSICONINDEX;
            if (this.size == SysImageListSize.smallIcons)
            {
                sHGetFileInfoConstants |= SysImageList.SHGetFileInfoConstants.SHGFI_SMALLICON;
            }
            int dwFileAttributes;

            if (!forceLoadFromDisk)
            {
                sHGetFileInfoConstants |= SysImageList.SHGetFileInfoConstants.SHGFI_USEFILEATTRIBUTES;
                dwFileAttributes        = 128;
            }
            else
            {
                dwFileAttributes = 0;
            }
            SysImageList.SHFILEINFO sHFILEINFO = default(SysImageList.SHFILEINFO);
            uint   cbFileInfo = (uint)Marshal.SizeOf(sHFILEINFO.GetType());
            IntPtr intPtr     = SysImageList.SHGetFileInfo(fileName, dwFileAttributes, ref sHFILEINFO, cbFileInfo, (uint)(sHGetFileInfoConstants | (SysImageList.SHGetFileInfoConstants)iconState));
            int    result;

            if (intPtr.Equals(IntPtr.Zero))
            {
                Debug.Assert(!intPtr.Equals(IntPtr.Zero), "Failed to get icon index");
                result = 0;
            }
            else
            {
                result = sHFILEINFO.iIcon;
            }
            return(result);
        }
All Usage Examples Of vbAccelerator.Components.ImageList.SysImageList::SHGetFileInfo