问题描述
- C#利用程序打开SLDPRT文件
-
我看了说是要应用SolidWorks API SDK
http://www.cnblogs.com/liong/archive/2008/05/21/1204404.html
照着这个做了一下 结果发现com组件引用不了using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SolidWorks.Interop.sldworks; using SolidWorks.Interop.swconst; namespace WebApplication1 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Command(object sender, CommandEventArgs e) { int IErrors = 0; int IWarnings = 0; SolidWorks.Interop.sldworks.SldWorks swApp = new SolidWorks.Interop.sldworks.SldWorks(); swApp.OpenDoc6(@"E:a.SLDPRT", (int)SolidWorks.Interop.swconst.swDocumentTypes_e.swDocPART, (int)SolidWorks.Interop.swconst.swOpenDocOptions_e.swOpenDocOptions_Silent, null, ref IErrors, ref IWarnings); swApp.Visible = true; } } }
最后发现
检索 COM 类工厂中 CLSID 为 {88CEE7FD-9F58-4962-8483-041AB9AD69A2} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。我注册了啊
解决方案
如何在程序中打开文件(相当于鼠标双击该文件),这里有两种方法:
(1)使用进程打开文件,使用方法如下:
?
??????? string fileName = ....;??? //文件绝对路径
??????? ......
答案就在这里:C#中利用程序打开文件
解决方案二:
先安装SolidWorks,然后引用com,要注意版本,如果是64bit系统,要限制程序集在32bit上运行。
时间: 2024-12-03 22:41:13