求IE插件开发相关资料及源码
如题,谢谢大家了,邮箱:skymyfei@vip.sina.com
[解决办法]
用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。