111,088
社区成员




public static class getIcon
{
[DllImport("Shell32.dll")]
static extern int SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, int cbFileInfo, uint uFlags);
struct SHFILEINFO
{
public IntPtr hIcon;
public int iIcon;
public int dwAttributes;
public char szDisplayName;
public char szTypeName;
}
static public Icon GetFileIcon(string fileName, bool smallIcon)
{
SHFILEINFO fi = new SHFILEINFO();
Icon ic = null;
int iTotal = (int)SHGetFileInfo(fileName, 100, ref fi, 0, (uint)(smallIcon ? 273 : 272));
if (iTotal > 0)
{
ic = Icon.FromHandle(fi.hIcon);
}
return ic;
}
}