2 u013738215 u013738215 于 2016.04.23 22:08 提问

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))。

我注册了啊

2个回答

CSDNXIAOS
CSDNXIAOS   2016.04.23 22:12
已采纳

如何在程序中打开文件(相当于鼠标双击该文件),这里有两种方法:
(1)使用进程打开文件,使用方法如下:
 
        string fileName = ....;    //文件绝对路径
        ......
答案就在这里:C#中利用程序打开文件
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

u013738215
u013738215 回复奥维德: 问题基本解决 但是想看看有其他方法没有
大约 2 年之前 回复
u013738215
u013738215 问个问题 如果我想让这个视频文件在页面上直接播放可以吗 不用打开那个软件
大约 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.04.23 23:27

先安装SolidWorks,然后引用com,要注意版本,如果是64bit系统,要限制程序集在32bit上运行。

u013738215
u013738215 这个方法实践到最后就是dll文件死活报错 各种注册成功就是报没注册
大约 2 年之前 回复
u013738215
u013738215 但是安装过后没有com组件啊
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
winform双击文件打开应用程序
1.获取双击的文件路径(第二次循环可获取到) static void Main()  {             foreach (var str in Environment.GetCommandLineArgs())             {                 MessageBox.Show(str);             } }   2.设置关联应用程序
CSharp调用外部程序打开指定文件
比如要打开一个rar文件,前提是你已经安装了Winrar或类似的软件。 代码: System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "test.rar"; proc.StartI
C#窗体程序怎么点击按钮打开一个选择文件的对话框
Button1_Click(....) { //首先,实例化对话框类实例 OpenFileDialog openDialog = new OpenFileDialog(); //然后,判断如果当前用户在对话框里点击的是OK按钮的话。 if(DialogResult.OK == openDialog.ShowDialog){ //将打开文件对话框的FileName属性传递到你的字符串进行处理
C#双击文件只让同一个程序打开文件
Form1.cs代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.F
c#打开一个word的程序
为了能够查看到word的内部结构,需要查看word的具体属性以下为具体的不走 1.建立一个窗口程序,添加应用,如下  方法一       首先在“解决方案中”展开各个项目   1. 解决引用Microsoft.Office.Core --> Interop.Microsoft.Office.Core.dll    先在各个项目“引用”中,删除对Microsoft.Office.Core的
C#启动一个外部程序的多种方法
先引用命名空间:using System.Diagnostics;小例://在现有窗口中打开baiduSystem.Diagnostics.Process.Start("http://www.baidu.com"); //在新窗口中打开baiduusing System.Diagnostics;Process ps=new Process();string yourURL="htt
c# 打开外部可执行文件exe。
一、打开程序。     先介绍    System.Diagnostics.Process类:用来启动和停止进程的。         1、            Process pr = new Process();//声明一个进程类对象             process.StartInfo.FileName = "C:\\Keil_v5\\UV4\\UV4.ex
打开exe文件
打开exe文件,主要利用C#开发的
pdb of C#
C# 中的.pdb/ .vshost.exe/ .vshost.exe.manifest文件 .pdb文件: 英文全称:Program Database File 中文全称:程序数据库 文件 Debug里的PDB是full,保存着调试和项目状态信息、有断言、堆栈检查等代码。可以对程序的调试配置进行增量链接。 Release 里的PDB是pdb-only,出什么错了+错误在哪行。
C#调用已经安装的程序打开文件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { [DllImport(