NET中怎么调用COM组件?

 我来答
仍沛迩4a
推荐于2019-08-30 · TA获得超过340个赞
知道答主
回答量:132
采纳率:83%
帮助的人:60.2万
展开全部
.NET在设计之初就考虑到了如何方便的利用现有的各种技术资源,这也是微软的一贯作风,.NET的强大之处也可见一斑。.NET提供了大量的类库来方便的实现同COM的相互操作,其中很重要的一个名称空间就是:System.Runtime.InteropServices。通过这个名称空间的名字我们也可以从字面上看出,“互操作服务”。System.Runtime.InteropServices这个名称空间提供了一系列的类来对COM对象进行操作。
下面的例子中,我们来调用一下系统自带的Win32函数MessageBoxA,这个函数位于系统的COM组件user32.dll当中,我们调用的代码如下:
using System;
using System.Runtime.InteropServices;
class Test{[DllImport( "user32.dll ")]
public static extern int MessageBoxA(inthWnd,string strMsg,string strCaption,intnType);
public static void Main(){int myMsg;
myMsg=MessageBoxA(0, "Hello! ", "test ",0);}}切换到MS-DOS命令行下面,运行:
C:\ csc Test.cs
编译完毕我们的C#应用程序之后,直接运行就可以看到对话框了!
需要注意的是,在调用COM组件之前,我们需要在.NET程序中引用名称空间:System.Runtime.InteropServices。因为我们需要使用这个名称空间所提供的一个方法:DllImport。
你需要做的是:
1.做一个COM+的.NET封装(可以直接在VS.NET中引用COM组件,也可以使用Regsvcs.exe命令自己完成)
2.在项目中引用上面产生的dll最好可以帖出你的代码,这样大家判断的才准确!
闻浓赤欣艳
2020-01-14 · TA获得超过1078个赞
知道小有建树答主
回答量:1697
采纳率:94%
帮助的人:8.7万
展开全部
调用.net的程序集还是com组件,
这是不同的,
如果你用visual
studio,那在项目的引用那里直接引用就可以了,.net程序集和com组件在不同的tab页里。
com组件要先注册才能看到
regsvr32
com.dll
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式