



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、vb6下手把手教你做bho插件你好!歡迎你來(lái)看我寫的文章,我想寫的是如何讓一個(gè)初級(jí)的vb愛(ài)好者簡(jiǎn)單的學(xué)會(huì)做bho插件,所以我會(huì)搞的很煩瑣,很細(xì)致,您不要不耐煩就好。對(duì)于理論,基本靠后,因?yàn)槲乙膊磺宄N覀冎灰涝诤翁幮薷拇a能滿足我們的要求就可以了。第一節(jié) 工具準(zhǔn)備vb6.0你肯定安裝了吧?另外注意安裝的光盤里有一個(gè)目錄,在我的電腦里是F:VB6.0COMMONTOOLSVBUNSUPPRTTYPLIB,這個(gè)目錄里有一個(gè)文件MKTYPLIB,是用來(lái)生成庫(kù)文件的。找到,備用。如果你嫌麻煩,可以在我這里下載。相關(guān)附件再就是在你的操作系統(tǒng)目錄下有一個(gè)systm32目錄,在里面有一個(gè)exe文件,名字
2、是regsvr32,是用來(lái)注冊(cè)組件的。這兩個(gè)文件都可以在dos下執(zhí)行,帶一些參數(shù)去執(zhí)行。windows下執(zhí)行的時(shí)候,會(huì)出來(lái)一個(gè)簡(jiǎn)單的向?qū)В嬖V你如何使用。最簡(jiǎn)便的方法是把他們同你要處理的文件拷貝到一個(gè)目錄下,然后把需要處理的文件拖拉到他們的圖標(biāo)上,就ok了。第二節(jié) 生成庫(kù)文件IObjectWithSiteTLB.tlb新建一個(gè)文本文件,把下面的代碼復(fù)制進(jìn)去: uuid(CF9D9B76-EC4B-470D-99DC-AEC6F36A9261), helpstring("VB IObjectWithSite Interface"), version(1.0) library
3、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
4、-A229-00AA003D7352), odl interface IObjectWithSite:IUnknown typedef IObjectWithSite *LPOBJECTWITHSITE; HRESULT SetSite(in IUnknownVB* pSite); HRESULT GetSite(in GUIDPtr priid, in, out VOIDPtr* ppvObj); 另存為:IObjectWithSiteTLB.odl ,注意把全名寫在文件名里,保存類型選所有文件。如下圖: 然后在資源管理器里,把這個(gè)IObjectWithS
5、iteTLB.odl拖到 MKTYPLIB.exe上,注意看,自動(dòng)生成了我們要用的文件IObjectWithSiteTLB.tlb,記下他的位置。第三節(jié) 建立dll工程打開vb6.0 -新建一個(gè)工程,類型為activeX dll 。 參看下圖: 把下面的代碼復(fù)制進(jìn)去,能理解的好,不能理解的就當(dāng)是黑盒子。Implements IObjectWithSiteTLB.IObjectWithSiteDim WithEvents IE As InternetExplorerDim M_Site As IUnknownVBPrivate Sub IObjectWithSite_GetSite(ByVal
6、Priid As IObjectWithSiteTLB.GUIDPtr, PPVobj As IObjectWithSiteTLB.VOIDPtr)M_Site.QueryInterface Priid, PPVobjEnd SubPrivate Sub IObjectWithSite_SetSite(ByVal pSite As IObjectWithSiteTLB.IUnknownVB)Set M_Site = pSiteSet IE = pSiteEnd Sub第四節(jié) 添加引用你馬上可以運(yùn)行一下,結(jié)果當(dāng)然會(huì)出錯(cuò)。是不是這個(gè)提示?這個(gè)類型的定義在我們前邊生成的那個(gè)庫(kù)里,我們沒(méi)有告訴vb,她
7、當(dāng)然找不到了。在“工程”-“引用”里,通過(guò)瀏覽引用我們生成的IObjectWithSiteTLB.tlb ,再次運(yùn)行,這個(gè)錯(cuò)誤不再出現(xiàn)了。但是會(huì)出現(xiàn)另外一個(gè)錯(cuò)誤,這是因?yàn)榱硗獾囊粋€(gè)類型定義Dim WithEvents IE As InternetExplorer,找不見(jiàn)。我想你應(yīng)該知道要加入一個(gè)什么引用吧? (microsoft internet controls)。好了,以上都是死套套,下面我們能自由活動(dòng)了。第五節(jié) webbrowser編程用過(guò)webbrowser 吧? 也就是microsoft internet controls里定義的瀏覽器控件。用過(guò)的話,下面的內(nèi)
8、容就好發(fā)揮了?,F(xiàn)在,我們只要針對(duì)ie的各個(gè)事件編寫代碼就可以了。參看下圖:我們先寫一個(gè)簡(jiǎn)單的,測(cè)試有效果后再整復(fù)雜點(diǎn)。我寫個(gè):Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)MsgBox URL, vbInformation, "海藍(lán)港灣"End Sub意思是 瀏覽器每次瀏覽完成后,.。不說(shuō)了,大家都看得懂,再說(shuō)要挨罵了。第六節(jié) 測(cè)試插件生成bho1010.dll ,當(dāng)然你知道名字是你自己來(lái)取的。在資源管理器你把bho1010.dll 拖拉到regsvr32.exe身上,顯示注冊(cè)成功
9、。運(yùn)行regedit.exe 在注冊(cè)表里搜索bho1010.dll ,你會(huì)在HKEY_CLASSES_ROOTCLSID中看到注冊(cè)組件bho1010.dll 的GUID。然后將這個(gè)GUID拷貝下來(lái),然后在注冊(cè)表 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects 下創(chuàng)建一個(gè)新項(xiàng),項(xiàng)的名稱就是這個(gè)GUID。 搞定以后,打開IE,看看效果出現(xiàn)了嗎?修改的時(shí)候,只要關(guān)閉了 ie, 重新生成bho1010.dll 文件就可以。當(dāng)然,你可以在 ie的“工具(T)”-"管理加
10、載項(xiàng)下",啟用/禁用 你的插件第七節(jié) 后記似乎你很失望,如此煩瑣。其實(shí)成熟后,這些都可以讓程序來(lái)完成。我的擺渡鐵吧簽名 也僅僅是加了下面的代碼:Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)On Error Resume Next '不理會(huì)錯(cuò)誤If InStr(1, URL, " > 0 Then '如果是擺渡的鐵吧就開始工作 Dim temp As String temp = vbLf + vbLf + vbLf + vbLf + vbLf + vbLf + "=" + vbLf temp = temp & "在這里了= + vbLf +
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度天津市專利代理師科目一(專利法律知識(shí))考前自測(cè)題及答案
- 情感交流的語(yǔ)文試題及答案
- 食品成分含量標(biāo)準(zhǔn)試題及答案
- 2024年車輛整備技術(shù)試題及答案
- 精神病模擬練習(xí)題及答案
- 美容師考試中時(shí)間管理的技巧與實(shí)踐運(yùn)用探討試題及答案
- Unit 3 Welcome to our school pronunciation教學(xué)設(shè)計(jì) - 2024-2025學(xué)年譯林版七年級(jí)英語(yǔ)上冊(cè)
- 二年級(jí)信息技術(shù)上冊(cè) 第14課奇妙的LOGO世界教學(xué)設(shè)計(jì) 北京版
- 安徽省池州市普通高中2025屆高三下學(xué)期教學(xué)質(zhì)量統(tǒng)一監(jiān)測(cè)語(yǔ)文含答案
- Unit 1 This is me!pronunciation 教學(xué)設(shè)計(jì)2024-2025學(xué)年牛津譯林版英語(yǔ)七年級(jí)上冊(cè)
- 【工商管理專業(yè)畢業(yè)綜合訓(xùn)練報(bào)告2600字(論文)】
- 2022湖南省郴州市中考物理真題試卷和答案
- 《固體礦產(chǎn)勘查鉆孔質(zhì)量要求》(報(bào)批稿)
- 八音的分類教學(xué)課件
- 挖掘機(jī)的基礎(chǔ)知識(shí)-挖掘機(jī)的結(jié)構(gòu)及特點(diǎn)
- 長(zhǎng)江防汛抗旱方案
- 茶葉加工工理論試卷及答案
- 電力行業(yè)從業(yè)人員技能等級(jí)認(rèn)證考評(píng)員理論知識(shí)考試題(附答案)
- 《幼兒園健康》課件精1
- 國(guó)企統(tǒng)戰(zhàn)工作調(diào)研報(bào)告
- 嫦娥奔月英文版簡(jiǎn)短50字
評(píng)論
0/150
提交評(píng)論