VB制作BHO

VB制作BHOVB 制作 BHO 第一步打开记事本 把下面代码复制进去 然后保存为 IObjectWithS odl nbsp uuid CF9D9B76 EC4B 470D 99DC AEC6F36A9261 nbsp helpstring VBIObjectWit nbsp version 1 0 nbsp nbsp libraryIObje

VB制作BHO

第一步
打开记事本,把下面代码复制进去,然后保存为IObjectWithSiteTLB.odl。


uuid(CF9D9B76-EC4B-470D-99DC-AEC6F36A9261), 
helpstring(“VB IObjectWithSite Interface”), 
version(1.0) 

library IObjectWithSiteTLB 

importlib(“stdole2.tlb”); 
typedef [public] long GUIDPtr; 
typedef [public] long VOIDPtr; 

uuid(00000000-0000-0000-C000-000000000046), 
odl 

interface IUnknownVB 

HRESULT QueryInterface( 
[in] GUIDPtr priid, 
[out] VOIDPtr *pvObj 
); 
long AddRef(); 
long Release(); 


uuid(FC4801A3-2BA9-11CF-A229-00AA003D7352), 
odl 

interface IObjectWithSite:IUnknown 

typedef IObjectWithSite *LPOBJECTWITHSITE; 
HRESULT SetSite([in] IUnknownVB* pSite); 
HRESULT GetSite([in] GUIDPtr priid, [in, out] VOIDPtr* ppvObj); 

}

代码意思我也不太懂,大概是声明接口。VB里面不能实现。

第二步
1.开始菜单——运行——CMD。
2.把MKTYPLIB.EXE拖入CMD窗口。(MKTYPLIB.EXE可以网上搜索一下)
3.别急着回车,在一长串文件名后面输入“ /NOCPP”。(注意有一个空格)
4.回车后,弹出一个打开文件对话框。打开“第一步”中保存的IObjectWithSiteTLB.odl。
5.然后会有提示,如果成功的话,会在MKTYPLIB.EXE所在文件夹下生成IObjectWithSiteTLB.tlb。

第三步
1.       打开VB6.0——新建一个工程——类型为activeX dll。
2.       引用microsoft internet controls和刚才得IObjectWithSiteTLB.tlb。
3.       输入以下代码:
Implements IObjectWithSiteTLB.IObjectWithSite
Dim WithEvents IE As InternetExplorer
Dim M_Site As IUnknownVB

Private Sub IObjectWithSite_GetSite(ByVal Priid As IObjectWithSiteTLB.GUIDPtr, PPVobj As IObjectWithSiteTLB.VOIDPtr)
M_Site.QueryInterface Priid, PPVobj
End Sub

Private Sub IObjectWithSite_SetSite(ByVal pSite As IObjectWithSiteTLB.IUnknownVB)
Set M_Site = pSite
Set IE = pSite
End Sub

第四步
前三步是准备工作,下面要编写你自己的代码了。
就是用webbrowser(microsoft internet controls)实现对IE各个事件的控制

比如添加以下代码(其它事件就不一一举例了,我自己也是去网上查的):
Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)
MsgBox URL, vbInformation, “您好,IE为您服务。”
End Sub

编写完所有代码后,即可生成DLL,名字任意。(如:MYBHO.DLL)

第五步——注册BHO
1.       将生成的DLL拖入regsvr32.exe,提示注册成功。(regsvr32.exe在windows\system32下)
2.       开始菜单——运行——REGEDIT(打开注册表编辑器)。
3.       在注册表编辑器中,打开HKEY_CLASSES_ROOT\CLSID。然后查找“MYBHO”。
4.       找到后记下MYBHO对应的那一长串GUID.
5.       打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects 新建项,项的名称就是这个GUID。

第六步
全部工作完成了,现在打开IE浏览器,可以看看效果。

附注
还有几点需要说明:
1.       可以在 ie的“工具(T)”–“管理加载项下”,启用/禁用你的插件或者直接到注册表的HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\下删除相应dll的clisd即可.
2.       如果其它工程需要引用IObjectWithSiteTLB.tlb,先在注册表将其uuid(CF9D9B76-EC4B-470D-99DC-AEC6F36A9261)删除(反注册)。否则会无法引用。
(删除方法:可以再注册表中搜索IObjectWithSiteTLB.tlb。应该是在tHKEY_CLASSES_ROOT\TypeLib下面
























































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207910.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:48
下一篇 2026年3月19日 下午12:49


相关推荐

  • java序列化和反序列化以及序列化ID的作用分析

    java序列化和反序列化以及序列化ID的作用分析java序列化和反序列化以及序列化ID的作用分析

    2022年6月18日
    28
  • FindWindow使用方法

    FindWindow使用方法

    2021年12月8日
    50
  • USB(UVC协议)摄像头

    USB(UVC协议)摄像头一 背景知识 1 1 背景 UVC 全称为 USBVideoClas 即 USB 视频类 是一种为 USB 视频捕获设备定义的协议标准 是 Microsoft 与另外几家设备厂商联合推出的为 USB 视频捕获设备定义的协议标准 已成为 USBorg 标准之一 对于一个 usb 摄像头来说 内部大概分为一个 VC 接口和一个 VS 接口 VC 接口内部有许多 unit 和 terminal 用来 控制 摄

    2025年11月28日
    6
  • c语言编写机器人程序(C程序设计教程)

    第一部分基本技能学习和实践第1讲一种新的C语言学习方式机器人与C语言学习平台任务1获得软件任务2安装软件任务3硬件连接任务4第一个程序任务5做完实验关断电源工程素质和技能归纳科学精神的培养第2讲最简单的C程序设计——机器人做算术任务1整型数据的运算和结果显示任务2浮点型数据的运算任务3字符型数据工程素质和技能归纳科学精神的培养第3讲循环程序设计——让机器人动起来C51单片机…

    2022年4月11日
    186
  • vue 集成高德地图进行批量标注和信息窗体展示

    vue 集成高德地图进行批量标注和信息窗体展示                                   vue集成高德地图进行批量标注和信息窗体展示         高德地图进行地理位置的标注和信息窗体展示是我们很常用的一个功能,其实高德api里面已经清楚的说明怎么用了,但是自己总结一下记录在自己的笔记里,也是有些许好处的。高德api样列展示地址是:https://lbs.amap.com/api/javascript…

    2022年5月21日
    68
  • html中添加背景音乐的标签,添加背景音乐的html标签是什么

    html中添加背景音乐的标签,添加背景音乐的html标签是什么添加背景音乐的html标签是,bgsound是用以插入背景音乐,但只适用于IE,在netscape和firefox中并不适用,其参数设定很少,语法如“”。添加背景音乐的html标签是。bgsound是用以插入背景音乐,但只适用于IE,在netscape和firefox中并不适用,其参数设定很少。如下src=”bjyy.mp3″设定背景音乐文件及路径,可以是相对路径或绝对路径。(不…

    2022年7月25日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号