c# - 读/写 'Extended' 文件属性 (C#)

标签 c# extended-properties

我正在尝试了解如何在 C# 中读取/写入扩展文件属性 例如您可以在 Windows 资源管理器中看到的评论、比特率、访问日期、类别等。 任何想法如何做到这一点? 编辑:我将主要读取/写入视频文件(AVI/DIVX/...)

最佳答案

对于那些不喜欢 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)}");
        }
    }
}

关于c# - 读/写 'Extended' 文件属性 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31943967/

相关文章:

c# - 应用程序在 Visual Studio 的单元测试中以 x86 运行,但在独立时以 x64 运行

c# - 相当于 struct.unpack ("21"、 logfile.read(8)) 的 C# 是什么?

c# - 日历项目更新时发生 Exchange 错误 :- At least one recipient isn't valid

sql-server - 推荐一个在SQL Server 2005中管理扩展属性的工具

c# - 将元数据存储在文件 : Any standard approach on modern Windows? 之外

c# - 为什么 Roslyn 每种语言都有两个版本的语法?

c# - 如何将 excel ListObject 添加到 C# 中的给定工作表?

c# - HTTPS WCF 基本 HttpBindings 获取 HTTP 403

sql-server - 触发扩展属性? SQL服务器

sql-server - SQL Azure 友好数据库版本控制理念