我正在寻找一种在C#中读取文档属性的方法.我听说过dsofile.dll,但它似乎是一个旧的COM包装器,并且想知道.NET框架/ C#是否有更现代的东西.我实际阅读的不是Office文档文件,而是具有自定义属性的Solidworks .SLDDRW文件.右键单击文件,然后转到“属性”窗口的“自定义”选项卡,可以在
Windows资源管理器中查看和更改这些内容.
任何人都知道如何在C#/ .NET 3.5中阅读这些自定义属性?
谢谢!
解决方法
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开始时并不是完全交叉位).