BlackFox.Win32.Icons.IconFromExtensionShell C# (CSharp) Method

IconFromExtensionShell() public static method

public static IconFromExtensionShell ( string extension, SystemIconSize size ) : Icon
extension string
size SystemIconSize
return System.Drawing.Icon
        public static Icon IconFromExtensionShell(string extension, SystemIconSize size)
        {
            //add '.' if nessesry
            if (extension[0] != '.') extension = '.' + extension;

            //temp struct for getting file shell info
            SHFILEINFO fileInfo = new SHFILEINFO();

            SHGetFileInfo(
                extension,
                0,
                out fileInfo,
                Marshal.SizeOf(fileInfo),
                FileInfoFlags.SHGFI_ICON | FileInfoFlags.SHGFI_USEFILEATTRIBUTES | (FileInfoFlags)size);

            return Icon.FromHandle(fileInfo.hIcon);
        }