C++中使用BHO来屏障特定网站BHO(浏览器辅助工具)是一种简朴的ATL COM工具,而Internet Explorer会在每次运行时都加载它;换句话来说,即每个Internet Explorer的实例都市加载它。BHO运行在Internet Explorer的地址空间内,能对可接见的工具(如窗口、模块等等)执行任何操作,且由于它依附于浏览器的主窗口,以是其生命期与浏览器实例的生命期一致。 若是在系统中打开了活动桌面,BHO也能随同Windows Explorer一 起启动。若是不想在Windows Explorer中运行BHO,可将如下代码添加到DLLMain中: TCHAR strLoader[MAX_PATH]; ::GetModuleFileName (NULL, strLoader, MAX_PATH); if(stricmp("explorer.exe", strLoader) == 0) return FALSE; BHO的COM Server必须实现IObjectWithSite,以便工具可以挂钩到浏览器事宜,Internet Explorer会依赖IObjectWithSite将一个指针通报到它的IUnknown接口,以是,只需实现IObjectWithSite的SetSite方式就行了,如下所示: STDMETHODIMP CBhoApp::SetSite(IUnknown *pUnkSite) { //获取并存储IWebBrowser2指针 m_spWebBrowser2 = pUnkSite; if (m_spWebBrowser2 == NULL) return E_INVALIDARG; //获取并存储IConnectionPointerContainer指针 m_spCPC = m_spWebBrowser2; if (m_spCPC == NULL) return E_POINTER; //毗邻到宿主程序以吸收事宜通知 return Connect(); } 以下是Connect函数比较简朴的实现: HRESULT CBhoApp::Connect() { HRESULT hr; CComPtr spCP; //获取接见WebBrowser事宜的毗邻指针 hr = m_spCPC-gt;FindConnectionPoint(DIID_DWebBrowserEvents2, amp;spCP); if (FAILED(hr)) return hr; //把事宜处置程序通报给宿主程序Each time an event //每次有事宜发生时,宿主程序都市挪用我们实现的IDispatch接口的函数 hr = spCP-gt;Advise(reinterpret_cast (this),amp;m_dwCookie); return hr; } 通过挪用Advise方式,告之浏览器BHO想要接受事宜通知,这意味着BHO会把指向IDispatch的指针提供给浏览器(这是由于要举行组件事宜处置),接下来,浏览器会挪用IDispatch的Invoke方式,并通报给它一个事宜的ID作为参数,因此,BHO必须实现Invoke方式以处置所发生的事宜。 STDMETHODIMP CBhoApp::Invoke(DISPID dispidMember,REFIID riid, LCID lcid,WORD wFlags, DISPPARAMS *pDispParams,VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { //在使用ATL字符串转换宏(此处用的是OLE2T)防止编译错误时,必须先挪用这个宏 USES_CONVERSION; if(dispidMember == DISPID_BEFORENAVIGATE2) { BSTR bstrUrlName; HRESULT hr = m_spWebBrowser2-gt;get_LocationURL(amp;bstrUrlName); *>
《明月曾照江东寒》因为若隐若现和邢菲出演,是一部古装爱情剧,《明月曾照江东寒》不会再限于一般的甜剧,武侠江湖布局更高而感情更诚挚,是令人耳目一新的新流派武侠片。下边我产生:《明月曾照江东寒》人物角色故...
现如今很多女人生了小孩后,由于小孩还小,便挑选辞退工作中在家里做宝妈妈。别以为仿佛它是一件非常简单的事儿,实际上做宝妈妈是一件十分操劳的工作中,但实际上在照料小孩的空隙,还能够做一些小买卖帮补家庭装,...
如今的互联网是一个充满机会的平台,也是一个让无数人浮躁的地方,这里的诱惑太多。 一个刚接触互联网的新人,可能会认为到处都是机会,哪里都有金矿,接触一个项目做了两天,感觉太难,立马就找下一个项目,结果...
其实,咱们日常打电话也是这种的对话形式,剖析对方的志愿进行后续的评论。 反映在上面的脚本中,便是听懂对方说了些什么,然后依据剧本上预设脚本匹配,将匹配到的句子“播映”给接听打扰电话的人。 这样,循序往...
-v {1,2,3}, --verbose {1,2,3}2019年,勒索病毒进犯全体态势以服务器定向进犯为主,辅以撒网式无差别进犯手法。 2)、挖矿木马宗族及进犯方法4.回来的数据很难解析和剖析(需...
本文导读目录: 1、中国著名黑客人物有哪些? 2、3分钟黑掉阿里的“黑客男孩”,马云给500万年薪,现在怎么样了? 3、为什么俄罗斯盛产黑客,到底是怎么回事呢? 4、盘点一下,有哪些著名的...