如何在c#中读取自定义文件属性

时间:2010-06-10 17:30:43

标签: c# file properties

我正在寻找一种在C#中读取文档属性的方法。我听说过dsofile.dll,但它似乎是一个旧的COM包装器,并且想知道.NET框架/ C#是否有更现代的东西。我实际阅读的不是Office文档文件,而是具有自定义属性的Solidworks .SLDDRW文件。您可以在Windows资源管理器中查看和更改这些文件,方法是右键单击文件,然后转到“属性”窗口的“自定义”选项卡。

任何人都知道如何在C#/ .NET 3.5中阅读这些自定义属性?

谢谢!

2 个答案:

答案 0 :(得分:6)

SolidWorks系统使用OLE文档属性API。正如您所指出的,Microsoft提供了一个示例DSOFile.dll,允许您访问这些属性:

http://support.microsoft.com/kb/224351

SolidWorks API也对这些属性提供强大支持,但您必须加载Solidworks才能使用API​​,因此它并不总是理想的解决方案。请注意,如果文件已在Solidworks中打开,则无法使用DSOfile.dll编辑自定义属性。

您的问题的简单答案是这些属性没有更新的API;与许多其他遗留API(例如DDE)继续出现在生产环境中的方式大致相同,DSOFile非常适合需要,并且由于其相当低级的特性,实际上并不完全适合更新。然而,DSOFile完全能够满足您的需求,并且与.NET相当干净。源是可用的,如果这对您的用户来说是个问题,可以编译为64位;它确实意味着你需要一个单独的64位安装,但这是一个很小的代价(加上SolidWorks开始时并不完全是交叉位数)。

答案 1 :(得分:1)

如果我理解正确,这个帖子就有答案:

<强> Read/Write ‘Extended’ file properties (C#)