Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313338
  • 博文数量: 75
  • 博客积分: 2710
  • 博客等级: 少校
  • 技术积分: 706
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-21 14:19
文章分类

全部博文(75)

文章存档

2011年(10)

2010年(22)

2009年(43)

我的朋友

分类: 嵌入式

2011-05-28 11:16:49

一. VB.NET和COM组件:

写到这里有一个概念要澄清一下,就是VB.NET和C#一样,不能直接使用已经存在的COM组件,这是因为编译VB.NET和C#的文件的时候,必须保证编译时候所使用的文件是由受管代码(Managed Code)文件,我们知道VB.NET和C#所使用的.Net FrameWork SDK都是受管代码,而对于那些COM组件来说,他们都是非受管代码(Unmanaged Code),所以这些COM组件要能够被VB.NET和C#使用,必须实现自身从非受管代码到受管代码的转换。好在,在.Net框架中提供了一个程序来专门实现这种转换,这个文件就是"Aximp.exe",如果你把.Net FrameWork SDK安装在"C"盘,那么在"C:\Program Files\Microsoft.NET\FrameworkSDK\Bin"目录中,就可以找到这个文件。

二. COM组件的转换:

在本文中所使用的COM组件的名称是微软的Web浏览器,如果你选用的操作系统是2000,并且安装的路径是"C:\Winnt",那么这个组件可以在"C:\Winnt\System32"目录中找到;如果你选用的操作系统是98,并且安装的路径是"C:\",那么这个组件可以在"C:\\System"目录中找到,这个COM组件的名称为"shdocvw.dll"。"Aximp.exe"是一个功能比较强大的程序,你可以通过"Aximp /?"命令,来了解他的一些其他的常规使用方法,由于在本文中只是最为简单的使用方法,所以使用下列简单的命令就可成功转换:

Aximp c:\winnt\system32\shdocvw.dll

运行上述命令后就可以实现转换,并在当前目录中产生"SHDocVw.dll"和"AxSHDocVw.dll"二个文件。具体如下图:


图01:COM组件的转换过程

在成功转换过以后,就要利用转换后的这二个文件,用VB.NET来做一个属于自己的浏览器。

三. 本文程序设计和运行的软件环境:

(1).微软公司视窗2000服务器版

(2)..Net FrameWork SDK Beta 2

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

(1).在VB.NET中使用浏览器组件:

在转换而成的"AxSHDocVw.dll"和"SHDocVw.dll"中定义了命名空间"AxSHDocVw",在此命名空间中封装了一个"AxWebBrowser"组件,这个组件中有若干个方法和属性,VB.NET就是通过这些方法和属性来实现浏览器的一些基本功能的。使用此浏览器组件和使用其他的WinForm组件的过程是一样的,首先要导入命名空间,然后在程序中继承此命名空间中定义的浏览器组件,最后设定这个继承后的组件的属性和方法。具体如下:

< I > .导入命名空间,具体代码如下:

Imports AxSHDocVw

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

Friend WithEvents AxWebBrowser1 As AxSHDocVw.AxWebBrowser

(2).VB.NET实现浏览器的一些基本功能:


转自:http://hi.baidu.com/tsinhata/blog/item/3ea6e9dc23e593a9cc1166ed.html
阅读(1423) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~