PsC*_*aft 4 c# extended-properties
某些文件在其属性中具有“摘要”选项卡,此选项卡包含诸如标题,作者,注释之类的信息。C#中有什么方法可以读取文件的注释。我只需要阅读jpg等图像文件中的注释。
评论和其他答案是搜索的好地方。这里有一些完整的代码可以帮助您。确保首先引用shell32.dll名称空间Shell32。我已经在LINQPad中完成了此操作,因此有所不同。
选择一个测试文件和文件夹:
var folder = "...";
var file = "...";
Run Code Online (Sandbox Code Playgroud)
获取Shell对象:
// For our LINQPad Users
// var shellType = Type.GetTypeFromProgID("Shell.Application");
// dynamic app = Activator.CreateInstance(shellType);
Shell32.Shell app = new Shell32.Shell();
Run Code Online (Sandbox Code Playgroud)
获取文件夹和文件对象:
var folderObj = app.NameSpace(folder);
var filesObj = folderObj.Items();
Run Code Online (Sandbox Code Playgroud)
查找可能的标题:
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);
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要将它们打印出来-这就是该目录中所有可用的标题。让我们以标题“ Comments”为例:
var testFile = filesObj.Item(file);
Console.WriteLine("{0} -> {1}", testFile.Name, folderObj.GetDetailsOf(testFile, headers["Comments"]));
Run Code Online (Sandbox Code Playgroud)
根据需要修改!
shell(shell32.dll)将帮助您解决这个问题。我最近在 MSDN 上发现了这篇很棒的文章 ( http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/94430444-283b-4a0e-9ca5-7375c8420622 )。
还有一个关于读取 ID3 标签的代码项目。
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |