`
hereson
  • 浏览: 1428654 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

VB写一个IE插件

阅读更多

Q:
就类似于3721的插件一样,当用户浏览我的网站的时候,提示下载运行插件?

A:
实现方法如下:
首先需要获得IObjectWithSite接口的定义,你下载个olelib.tlb,包含了接口定义。然后创建一个ActiveX DLL工程,
在工程中引用这个tlb文件,并且引用Microsoft HTML Object Library(MSHTML.DLL)和mcrosoft Internet Controls(Shdocvw.dll)。

然后在工程的class1中写入如下代码:
‘Class1.bas
Option Explicit

' 实现IObjectWithSite接口来获得IE对象
Implements olelib.IObjectWithSite

Private WithEvents m_objIE As InternetExplorer

Private Sub IObjectWithSite_GetSite(riid As UUID, ppvSite As IUnknown)
Dim objUnk As olelib.IUnknown

'获得m_objIE IUnkown接口
Set objUnk = m_objIE

'返回所需要的接口
objUnk.QueryInterface riid, ppvSite
End Sub

Private Sub IObjectWithSite_SetSite(ByVal pUnkSite As IUnknown)
'获得IE接口
Set m_objIE = pUnkSite
End Sub

'编写m_objIE事件处理程式
' .
' .
' .
' .

将这个工程编译为:prjBHO.dll。编译工程后,可以通过调用regsvr32 prjBHO.dll注册这个组件,组件注册了以后,就会在注册表HKEY_CLASSES_ROOT\CLSID中注册组件的GUID。在注册表中用prjBHO.dll做关键字就可以查找到prjBHO.dll注册的GUID,然后将这个GUID拷贝下来,然后在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects下创建一个新项,项的名称就是这个GUID。 

搜索关键字并突出显示:
Private Sub m_objIE_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
Dim webdoc As HTMLDocument
Dim texbody As HTMLBody
Dim Rng As IHTMLTxtRange
Dim I As Byte
On Error Resume Next
Set webdoc = m_objIE.document
Set texbody = webdoc.body
Set Rng = texbody.createTextRange()
Do
If Rng.findText("言情") = False Then Exit Do
Rng.Select

'用IHTMLTxtRange的execCommand方法可以实现加粗等功能,如:
Rng.execCommand "bold"
Rng.execCommand "BackColor", True, "#FFbbDD"
Rng.collapse False
Loop
Rng.collapse True
End Sub
能搜索到并加背景色。但搜索总是无休止,到尾又从头再搜索。。。
如果判断是否搜索到页尾了吗?

 

 

用VB編寫IE插件   

實現方法如下:
     首先需要獲得IObjectWithSite接口的定義,你下載個olelib.tlb,包含了接口定義。然后創建一個
ActiveX DLL工程,在工程中引用這個tlb文件,并且引用Microsoft HTML Object Library(MSHTML.DLL)
和mcrosoft Internet Controls(Shdocvw.dll)。

然后在工程的class1中寫入如下代碼:

'Class1.bas

Option Explicit
'實現IObjectWithSite接口來獲得IE對象
Implements olelib.IObjectWithSite
Private WithEvents m_objIE As InternetExplorer

Private Sub IObjectWithSite_GetSite(riid As UUID, ppvSite As IUnknown)
   Dim objUnk As olelib.IUnknown
   '獲得m_objIE IUnkown接口
   Set objUnk = m_objIE
   '返回所需要的接口
   objUnk.QueryInterface riid, ppvSite
End Sub

Private Sub IObjectWithSite_SetSite(ByVal pUnkSite As IUnknown)
   '獲得IE接口
   Set m_objIE = pUnkSite
End Sub
Private Sub m_objIE_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
   Dim FileName As String
   FileName = App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & "Test.EXE"
   Shell FileName, vbNormalFocus
End Sub

將這個工程編譯為: prjBHO.dll。編譯工程后,可以通過調用regsvr32 prjBHO.dll注冊這個組件,組件
注冊了以后,就會在注冊表HKEY_CLASSES_ROOT\CLSID中注冊組件的GUID。在注冊表中用prjBHO.dll做關
鍵字就可以查找到prjBHO.dll注冊的GUID,然后將這個GUID拷貝下來,然后在注冊表HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects下創建一個新項,項
的名稱就是這個GUID。

分享到:
评论

相关推荐

    用VB做IE插件(BHO)

    用VB做IE插件(BHO)用VB做IE插件(BHO)用VB做IE插件(BHO)

    vb 锁ie插件原代码

    vb锁ie插件原代码,原代码可以提供给有需要的人。

    WebKitCairo.zip_VB 浏览器 内核_VB6 谷歌内核_ie vb_浏览器控件_非IE内核

    VB环境下使用非IE内核的浏览器控件,Google

    VB内核的IE下载插件附实例源码.rar

    一个VB内核的IE下载插件附实例源码,还带有启动画面,可作为IE浏览器的一个辅助下载工具,使用时从IE上把连接拖到grid列表中就可以下载了,另外代码中的几个自定义控件也是挺不错的编程资料。

    VB6+IE activex_截全屏源码

    关才开发IE activex 插件的 软件行业代码太不发达了,资料太少,自己研究了下网面上截全屏acitvex

    asp.net网络硬盘的IE插件插件

    asp.net网络硬盘客户端插件,客户会自动下载。有安全认证。服务端用C#編寫,插件采用VB編寫。

    VB6简单实现web打印ActiveX插件源码 V2.0

    VB6简单实现web打印ActiveX插件源码。 对于上一个版本优化了,打印页面算法。 我个人编写,技术能力有限,希望和大家交流学习相关技术。

    VB锁IE首页插件源码,请谨慎测试

    内容索引:VB源码,系统相关,浏览器,锁IE,锁主页 锁IE首页的VB终极源码,运行此程序时360会报警,其它杀毒软件也会,因此本程序是不安全的,发布此程序仅供学习,以更好的防范此类不安全的程序,请谨慎测试,不要用法...

    写VB程序屏蔽IE的弹出窗口

    内容索引:VB源码,系统相关,弹出窗口 写VB程序屏蔽IE的弹出窗口,虽然微软的IE里已经辅助加入了屏蔽弹出窗口的功能,不是有些窗口仍然是屏蔽不掉的,我研究写了这个插件,可以屏蔽99%的IE弹窗,你只用编译运行就可以...

    VB添加程序图标(快捷方式)到IE中.rar

    VB添加程序图标(快捷方式)到IE中,把程序图标添加到IE浏览器的工具栏中,用户通过点击工具栏中的相应图标,打开程序的某个功能,类似于IE插件,现在有不少软件有类似的功能。操作方法:打开设置窗口后,浏览到图标...

    紫林IE辅助下载插件VB开源代码

    内容索引:VB源码,网络相关,插件,下载 一款IE辅助的下载插件,运行安装程序后即可将本功能添加至IE。当然,源代码完全可以再次开发、修改和再编译。源码主要涉及编码转换、网络接口相关技术操作,其实这下载地址的...

    GoogleChromeframe 谷歌浏览器的内嵌框架,IE的外壳, Chrome的芯24.0.1312.52

    Chrome Frame 是 Google 推出的一个针对 IE 6,7,8 开发的免费开源的浏览器插件,它可以让IE浏览器使用上webkit 内核。使用该插件后,用户的 IE 将获得和Chrome浏览器一样的高性能和丰富的功能,例如高速的...

    一个BHO示例,主要功能实现URL拦截

    用VC做的IE插件,采用ATL工程,插入BHO 在INVOke中写程序。

    永不中毒的IE浏览器插件

    有了这个东东,你可以在管理员帐户下任意上网冲浪,甚至可以裸奔!想中毒?不可能!一个文件,绿色版.原理就是以user用户启动IE,文件本身绝对无恶意病毒,请放心使用!请将IE所在盘转换为NTFS分区!

    类似于IE浏览器一样的VB窗体提示工具条

    内容索引:VB源码,界面编程,弹出窗口 在前两年,弹出窗口特别历害,后来微软将弹窗屏蔽插件内置到IE浏览器中,如果你正在浏览的网页有弹窗行为,它可以在IE的顶部弹出一个可以关闭的工具条,让用户选择是否显示弹出...

    简易浏览器3.0(C#+VB.NET完全开源)

    描述: 1.模仿IE7支持选项卡浏览。 2.无其他插件,浏览速度快。 3.简易浏览器3.0(C#+VB.NET完全开源)。

    Grid++Report 5 Web报表插件帮助(grweb)

    WEB开发在运行时是一个纯粹的IE浏览器报表插件,报表只运行在浏览器客户端,所以WEB开发可以适用于所有WEB开发技术与平台,如ASP、ASP.NET、JSP、PHP等,浏览器客户端脚本可以采用JavaScript与VBScript。C/S与B/S...

    一款超强的图形系统—C#源码C#vb.net_source_vg7.23

    在编程语言方面,软件提供的接口不仅能够支持VB、VC、Delphi、FoxPro、PowerBuilder、C++Builder、 C#、VB.net、VC.net、IE等不同的工作环境,而且提供了全部类库。要知道,在某些语言中,一些特殊的接口是无法识别...

    IE WebBrowser编程技巧

    自动填表的IE面板插件 使用Delphi开发IE按钮扩展 使用Delphi开发IE右键菜单扩展 IE异步可插入协议扩展 Delphi开发IE下载扩展 创建3721样式的Google搜索扩展 HTML代码过滤技术 GetDefaultBrowser 得到的HTML代码的IE...

Global site tag (gtag.js) - Google Analytics