Read/Write 'Extended' file properties (C#)

后端 未结 10 2427
我在风中等你
我在风中等你 2020-11-22 02:54

I\'m trying to find out how to read/write to the extended file properties in C# e.g. Comment, Bit Rate, Date Accessed, Category etc that you can see in Windows explorer. An

10条回答
  •  离开以前
    2020-11-22 03:50

    Jerker's answer is little simpler. Here's sample code which works from MS:

    var folder = new Shell().NameSpace(folderPath);
    foreach (FolderItem2 item in folder.Items())
    {
        var company = item.ExtendedProperty("Company");
        var author = item.ExtendedProperty("Author");
        // Etc.
    }
    

    For those who can't reference shell32 statically, you can invoke it dynamically like this:

    var shellAppType = Type.GetTypeFromProgID("Shell.Application");
    dynamic shellApp = Activator.CreateInstance(shellAppType);
    var folder = shellApp.NameSpace(folderPath);
    foreach (var item in folder.Items())
    {
        var company = item.ExtendedProperty("Company");
        var author = item.ExtendedProperty("Author");
        // Etc.
    }
    

提交回复
热议问题