示例#1
0
        /// <summary>
        /// 根据文件路径获取大图标
        /// </summary>
        /// <param name="fileName">文件路径(例如:F:\,F:\Images,F:\Images\Bg.jpg)</param>
        /// <returns>Icon图标</returns>
        public static Icon GetLargeIcon(string fileName)
        {
            IntPtr hImgLarge;

            QuickBox.MG.Common.Win32.SHFILEINFO shinfo = new Win32.SHFILEINFO();

            hImgLarge = Win32.SHGetFileInfo(fileName, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), Win32.SHGFI_ICON | Win32.SHGFI_LARGEICON);
            return(System.Drawing.Icon.FromHandle(shinfo.hIcon));
        }
示例#2
0
        /// <summary>
        /// 从文件扩展名得到文件关联图标
        /// </summary>
        /// <param name="fileName">文件名或文件扩展名</param>
        /// <param name="smallIcon">是否是获取小图标,否则是大图标</param>
        /// <returns>Icon图标</returns>
        public static Icon GetFileIcon(string fileName, bool smallIcon)
        {
            QuickBox.MG.Common.Win32.SHFILEINFO shinfo = new Win32.SHFILEINFO();
            Icon icon = null;

            int iTotal = (int)Win32.SHGetFileInfo(fileName, 100, ref shinfo, 0, (uint)(smallIcon ? 273 : 272));

            if (iTotal > 0)
            {
                icon = Icon.FromHandle(shinfo.hIcon);
            }
            return(icon);
        }