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

是否有托管的/.NET方式来访问文件的摘要信息?,.net,file,.net,File,在Windows中的文件上单击鼠标右键并从菜单中选择“属性”时,将打开“属性”窗口。在大多数文件类型的窗口中,有一个摘要选项卡,其中包含各种信息 是否有托管的/.NET方法检索该信息?我错误地认为这是一件微不足道的事情,它将是System.IO.FileInfo对象上某个dictionary对象的一部分,您只需向它提供所需标记的字符串,它就会返回一些值。我错了 在我的搜索中,我找到的都是shell命令,提到api调用或安装com对象。这些都是备用方案,我宁愿避免。我真正想知道的是,我是否忽略了访

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

是否有托管的/.NET方法检索该信息?我错误地认为这是一件微不足道的事情,它将是System.IO.FileInfo对象上某个dictionary对象的一部分,您只需向它提供所需标记的字符串,它就会返回一些值。我错了

在我的搜索中,我找到的都是shell命令,提到api调用或安装com对象。这些都是备用方案,我宁愿避免。我真正想知道的是,我是否忽略了访问这些信息的.NET方式

我错误地认为 这将是一件微不足道的事情 这一切都会成为某些事情的一部分 上的dictionary对象 System.IO.FileInfo对象和您 可以给它一个标签串 你想要,它会回报你一些 价值观


您是否尝试过System.Diagnostics.FileVersionInfo

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

有一个用于编辑Office文档的。不幸的是,我不认为这些属性对文件是通用的——它们并不总是可用的


只需重新阅读您的段落,其中指出COM对象是回退解决方案-但是,这是MS网站上提供的解决方案,因此我认为您不会做得更好。

您需要的是调用,并且可以通过Ole32.dll中的访问此信息。查看此方法的示例,似乎可以使用提取某些功能,但这需要一些工作才能完成,而且您似乎仍然必须使用P/Invoke。

这不是他想要的。哦,这就是。我认为这就是OSs读取已知文件类型的能力——我不认为这些文件类型是文件系统的一部分,尽管它们可能被缓存在某个地方。是的,你在确认我的发现。唉,我真的希望还有别的办法。谢谢你的回答,即使这是我不希望听到的!
var fvi = FileVersionInfo.GetVersionInfo("c:\temp.txt");