MSHTML.tlb是MSHTML.dll的类型库,而MSHTML.dll是进行语法分析的,一般实现实现
IE扩展需要利用VC写一个ODL编译成为TLB然后在VB中实现就可以了,但是
IDocHostUIHandler实现IE事件比较特殊,是需要实现类似于回调的接口,由于这个
方面我还在研究,所以抱歉无法给你一个满意的答复。
另外,实现IE扩展并不是定义一个变量然后Document或Application对象连接。首先
需要编写一个COM服务器实现接口(例如IDocHostUIHandler),接口的定义在TLB文件
中。然后注册COM服务器并将特定的信息写入注册表,当IE运行时会从注册表中读取信
息并建立与COM服务器的连接,然后调用事先定义的接口的方法。

解决方案 »

  1.   

    谢谢TechnoFantasy的回复。
    可能我表达得不很准确,我所说的实现IE扩展并不是要做一个COM然后在IE中扩展出一个新的功能(比如增加一个面板什么的)。我是希望对于我程序中使用的Browser控件重新定制它的下拉菜单,实现类似MSDN阅读器的效果。由于资料上显示通过IDocHostUIHandler接口可以定制Browser控件的界面,所以我想在VB中实现它。
    你提到它需要实现类似回调的接口是怎么回事?能否提供进一步的资料,我们可以讨论一下。
      

  2.   

    这个比较复杂,必须实现一个类,这个类从TWebBroser继承而来
    而且实现IDocHostShowUI, IDocHostUIHandler, IDispatch, IServiceProvider接口。
    我这里有一个利用Delphi制作的范例,是从:
    http://www.euromind.com/iedelphi/embeddedwb.htm下载的。
      

  3.   

    谢谢TechnoFantasy的资料,我基本上已经搞明白是怎么回事了。