阅读文件的注释

本文关键字:注释 文件 | 更新日期: 2023-09-27 18:32:56

某些文件的"属性"中具有"摘要"选项卡,此选项卡包括标题,作者,注释等信息。C#中有什么方法可以读取文件的注释。我只需要阅读来自jpg等图像文件的评论。

阅读文件的注释

评论和其他答案是搜索的好地方。这里有一些完整的代码来帮助你。确保首先引用shell32.dll命名空间Shell32 。我已经在 LINQPad 中完成了此操作,因此情况有所不同。

选取测试文件和文件夹:

var folder = "...";
var file = "...";

获取命令行管理程序对象:

// For our LINQPad Users
// var shellType = Type.GetTypeFromProgID("Shell.Application");
// dynamic app = Activator.CreateInstance(shellType);   
Shell32.Shell app = new Shell32.Shell();

获取文件夹和文件对象:

var folderObj = app.NameSpace(folder);
var filesObj = folderObj.Items();

查找可能的标头:

var headers = new Dictionary<string, int>();
for( int i = 0; i < short.MaxValue; i++ )
{
    string header = folderObj.GetDetailsOf(null, i);
    if (String.IsNullOrEmpty(header))
        break;
    if (!headers.ContainsKey(header)) headers.Add(header, i);
}

如果您愿意,可以打印出这些 - 这是该目录中可用的所有可能的标头。让我们以标题"注释"为例:

var testFile = filesObj.Item(file);
Console.WriteLine("{0} -> {1}", testFile.Name, folderObj.GetDetailsOf(testFile, headers["Comments"]));

根据需要修改!

shell (shell32.dll) 将帮助您解决这个问题。我最近在MSDN(http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/94430444-283b-4a0e-9ca5-7375c8420622)上发现了这篇很棒的文章。

还有一个关于读取ID3标签的代码项目。