我正在寻找一种在 C# 中读取文档属性的方法。我听说过 dsofile.dll,但它看起来像是一个旧的 COM 包装器,并且想知道是否有更现代的东西用于 .NET 框架/C#。我实际阅读的不是办公文档文件,而是具有自定义属性的 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 一开始并不完全适合跨位)。
关于c# - 如何在 C# 中读取自定义文件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016888/