public static FileShellInfo GetFileInfo(string path) { FileShellInfo info = new FileShellInfo(); IntPtr icon; icon = SHGetFileInfo(path, 0, ref info, (uint)Marshal.SizeOf(info), SHGFI_ICON | SHGFI_TYPENAME | SHGFI_SMALLICON); return info; }
public static FileShellInfo GetFileInfo(string path) { FileShellInfo info = new FileShellInfo(); IntPtr icon; icon = SHGetFileInfo(path, 0, ref info, (uint)Marshal.SizeOf(info), SHGFI_ICON | SHGFI_TYPENAME | SHGFI_SMALLICON); return(info); }
//获取文件对应的图标索引 private int GetFileIconIndex(FileInfo fi) { FileShellInfo fsi = Win32Shell.GetFileInfo(fi.FullName); if (imgList.Images.ContainsKey(fsi.szTypeName) == false) { imgList.Images.Add(fsi.szTypeName, fsi.Icon); } int iconIndex = imgList.Images.IndexOfKey(fsi.szTypeName); return(iconIndex); }
public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref FileShellInfo psfi, uint cbSizeFileInfo, uint uFlags);