VisualC#使用COM组件

Visual C#是微软推出的新一代程序开发语言,Visual C#实现许多功能是通过调用.Net框架为其中所有.Net程序开发语言提供的一个公用的软件包——。Net FrameWork SDK.在这个软件包中提供了大量并且十分丰富的类库,可以说,没有这个软件开发包,Visual C#就寸步难行,无法编写哪怕一个功能十分的程序。但这样也会出现一个问题,如果在。Net FrameWork SDK软件包中没有涉及到的功能,而在其他的第三方的COM组件中却提供了,那么这些组件是否可以被Visual C#使用。答案是:直接使用是不可以的,但这些COM组件经过一定转换后就可以。这种转换就是非受管代码(Unmanaged Code)到受管代码(Managed Code)的转换。因为这些COM组件一般都是非受管代码(Unmanaged Code),而编译Visual C#文件时候要使用的类库却只能为受管代码(Managed Code),这就是说要在Visual C#中使用那些非受管代码组件,就必须把这些非受管代码组件转换成受管代码组件。在.Net框架中专门提供了一个程序“Aximp.exe”来实现由 COM组件到WinForm组件的转换。

下面看看如何让Visual C#使用COM组件的。

一.本文程序设计和运行的软件环境
1 微软公司视窗2000服务器版
2 .Net FrameWork SDK Beta 2

二.程序设计的思路以及关键步骤的解决方法

1.把转换COM组件为WinForm组件:
其实实现这种转换十分的简单,我们知道微软Web浏览器COM组件名称为“shdocvw.dll”,由于我们使用的是视窗2000,所以这个文件是存放在 “c:\winnt\system32”目录中,如果你使用的是视窗98或者是视窗Me,那么此组件存放的位置是“c:\windows \system”。“Aximp.exe”文件后面有许多的参数,你可以通过“Aximp /?”来了解。

2.在程序中使用转换后组件:
在“AxSHDocVw.dll”中定义了命名空间“AxSHDocVw”,在此命名空间中定义了一个 “AxWebBrowser”组件,这个组件中有若干个方法和属性,Visual C#就是通过这些方法和属性来实现浏览器的一些基本功能的。使用此浏览器组件和使用其他的WinForm组件的过程是一样的,首先要导入命名空间,然后在程序中继承此命名空间中定义的浏览器组件,***设定这个继承后的组件的属性和方法。具体如下:
1).导入命名空间,具体代码如下:

 
 
 
  1. using AxSHDocVw ;  

2). 继承此命名空间中定义的浏览器组件,具体代码如下:

 
 
 
  1. private AxWebBrowser axWebBrowser1 ;  

其实用Visual C#做“浏览器”的过程,也就是Visual C#使用COM组件的过程。掌握了Visual C#使用COM组件方法,就可以利用Visual C#编写出功能更强大,适应性更强的软件来,但编写的过程又十分的简单。

【编辑推荐】

  1. 浅谈C# Connection对象
  2. C#实现PrintPage方法
  3. 利用Visual C#和C#语言特性
  4. C#管道技术学习经验
  5. 概述C#复合控件构建

新闻名称:VisualC#使用COM组件
文章链接:http://www.mswzjz.cn/qtweb/news26/378326.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能