是否有托管/ .NET方式来访问文件的摘要信息?

时间:2010-01-27 15:05:29

标签: .net file

右键单击Windows中的文件并从菜单中选择“属性”时,将打开“属性”窗口。在大多数文件类型的窗口上都有一个“摘要”选项卡,其中包含各种信息。

是否有托管/ .NET方法来检索该信息?我错误地认为这将是一个微不足道的事情,它将成为System.IO.FileInfo对象上的一些字典对象的一部分,你可以只提供一个你想要的标签字符串,它会返回一些值。我错了。

在我的搜索中,我发现的所有内容都是shell命令,提到api调用或安装com对象。这些都是后备解决方案(我宁愿避免使用)。我真正想知道的是,如果我忽略了访问该信息的.NET方式?

4 个答案:

答案 0 :(得分:0)

  

我错误地认为这是错误的   这将是一件微不足道的事情   它将成为一部分的一部分   字典对象   System.IO.FileInfo对象和你   可以只给它一串标签   你想要它会返回一些   值

System.IO.FileInfo.Attributes

答案 1 :(得分:0)

您是否尝试过System.Diagnostics.FileVersionInfo?

var fvi = FileVersionInfo.GetVersionInfo("c:\temp.txt");

帕特里克。

答案 2 :(得分:0)

DSOfile.dll允许您为Office文档编辑这些内容。不幸的是,我不认为这些属性对文件是通用的 - 它们并不总是可用。

重新阅读你的段落,说COM对象是后备解决方案 - 但是,这是MS网站上提供的解决方案,所以我认为你不会做得更好。

答案 3 :(得分:0)

您想要的内容称为Structured Storage,此信息可通过Ole32.dll中的StgOpenStorageEx访问。查看此方法的pinvoke.net page,似乎可以使用System.IO.Packaging.StorageInfo提取某些功能,但需要一些工作才能执行此操作,看起来您仍然必须使用P / Invoke。