.NET中怎么调用COM组件

如题所述

.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最好可以帖出你的代码,这样大家判断的才准确!
温馨提示:答案为网友推荐,仅供参考
相似回答