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/9375106/

相关文章:

c# - 为什么 Enum.ToString() 不返回正确的枚举名称?

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

javascript - 从 Outlook 加载项读取扩展属性

c# - 使用 for 循环遍历字典

c# - 将非 MVC 相关属性应用于 MVC 操作

c# - 具有 2 个或 3 个级别的 MVC URL 路由

c# - 在 C# 中获取 Selenium RemoteWebDriver 的 session ID

javascript - 当 Breeze 导航属性受权限控制时访问它们

google-calendar-api - 谷歌数据 API : what is the limit of Extended Properties?

windows - 使用 WMI 查询扩展文件属性