摘要: 這兩天寫(xiě)了一個(gè)IE插件,基于BHO的.大慨知道了寫(xiě)一個(gè)小插件的流程;
我的插件功能主要是從WEB上的一個(gè)鍵接,當(dāng)點(diǎn)這個(gè)鍵接時(shí),可以啟動(dòng)本地的EXE
開(kāi)始走了許多彎路,還想獲取一個(gè)WEB上的所有HREF.這樣效率不但慢,并且還是沒(méi)
有用的,因?yàn)槟悴恢傈c(diǎn)了那個(gè)鍵接;回想了一下原來(lái)ATL已經(jīng)寫(xiě)好了事件處理.所以參考
程序中的例子寫(xiě)了一個(gè)當(dāng)點(diǎn)鍵接的事件.既(OnLinkClickedOn),這個(gè)函數(shù)映射到事件
SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2,OnLinkClickedOn)
方法OnLinkClickedOn(IDispatch *pDispatch, VARIANT *pvarURL)中,一開(kāi)始沒(méi)注意后面
這個(gè)參數(shù)的用處,原來(lái)是當(dāng)你點(diǎn)擊的時(shí)候傳遞的URL,這不正是我們所需要的嗎?呵呵..
在使用ShellExecute時(shí)的參數(shù)時(shí)出錯(cuò)了.原來(lái)它的參數(shù)是要寬字符..所以在參數(shù)后面加了"L"
調(diào)試后可以點(diǎn)擊指定的超鍵接
閱讀全文