C#通过shell32获取文件属性

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Shell32; 
    
namespace GetFileCreator 
{ 
    class Program 
    { 
        static void Main(string[] args) 
        { 
            //要获取属性的文件路径 
            string filePath = @"e:/f/aa.txt"; 
            //初始化Shell接口 
            Shell32.Shell shell = new Shell32.ShellClass(); 
            //获取文件所在父目录对象 
            Folder folder = shell.NameSpace(filePath.Substring(0, filePath.LastIndexOf('//'))); 
            //获取文件对应的FolderItem对象 
            FolderItem item = folder.ParseName(filePath.Substring(filePath.LastIndexOf('//')+1)); 
            //字典存放属性名和属性值的键值关系对 
            Dictionary<string, string> Properties = new Dictionary<string, string>(); 
            int i =0; 
            while (true) 
            { 
                //获取属性名称 
                string key = folder.GetDetailsOf(null, i); 
                if (string.IsNullOrEmpty(key)) 
                { 
                    //当无属性可取时,推出循环 
                    break; 
                } 
                //获取属性值 
                string value = folder.GetDetailsOf(item, i); 
                //保存属性 
                Properties.Add(key, value); 
                i++; 
            } 
        } 
    } 
}