一尘不染

读取/写入“扩展”文件属性(C#)

c#

我试图找出如何在C#中读取/写入扩展文件属性,例如注释,比特率,访问日期,类别等,您可以在Windows资源管理器中看到它们。任何想法如何做到这一点?编辑:我主要是读/写视频文件(AVI
/ DIVX / …)


阅读 909

收藏
2020-05-19

共1个答案

一尘不染

对于那些不喜欢VB的人,这里是c#:

注意,必须从“引用”对话框的“ COM”选项卡添加对 Microsoft Shell控件和自动化 的引用。

public static void Main(string[] args)
{
    List<string> arrHeaders = new List<string>();

    Shell32.Shell shell = new Shell32.Shell();
    Shell32.Folder objFolder;

    objFolder = shell.NameSpace(@"C:\temp\testprop");

    for( int i = 0; i < short.MaxValue; i++ )
    {
        string header = objFolder.GetDetailsOf(null, i);
        if (String.IsNullOrEmpty(header))
            break;
        arrHeaders.Add(header);
    }

    foreach(Shell32.FolderItem2 item in objFolder.Items())
    {
        for (int i = 0; i < arrHeaders.Count; i++)
        {
            Console.WriteLine(
              $"{i}\t{arrHeaders[i]}: {objFolder.GetDetailsOf(item, i)}");
        }
    }
}
2020-05-19