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); *>
最近几年流行用美白针美白,其实美白针是相当昂贵的,这样的美白也只能富人才能消耗起。但是美白针到底有效果吗? 打美白针并不是都会变白,就像是不同国家的人,肤色是很不一样,每个人的肤色是天生,只是通...
手机里的视頻删除了能够在相册图片立即修复。开启图片库,点一下相册图片,最近删除,寻找必须修复的视頻,点一下下边的修复就可以。 知名品牌型号规格:华为公司P40,iPhone12 系统软件:EMUI11...
下图给出了进犯者投递勒索病毒的各种方法的占比状况,计算能够看出,远程桌面侵略与同享文件夹被加密仍然是用户计算机被感染的两个首要途径。 尽管网站挂马以及歹意软件现已不是第一次被用来传达勒索病毒,但在20...
西非的几内亚湾海域,正已成为全球海盗袭击类案件最高发区域。过去几年,曾经海盗猖獗的亚丁湾逐渐从“海盗的天堂”变得“风平浪静”,正是国际合作共同打击的成功例证。期待在各国共同努力下,几内亚湾的这条“...
10月31日,好几家台湾媒体公布了29日台军坠毁F-5E战斗机失事前的界面。一名退居二线航空员看了视頻提示,飞机场起先平飞,接着发动机些许仰角,又修复平飞姿势。最终消失在监控界面中,好像飞机场已出...
在这个创业的时代,无论老小都在寻找好的项目,想要本身创建一番事业。我们也知道,餐饮界一直长短常受创业者接待的,无论什么时候都需要用饭,而蒸汽暖锅的呈现更是为无数创业者指明白偏向,玉锅宴品牌的蒸汽暖锅型...