大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> ASP专区 -> IE里的探索之定制浏览器好助手(中1)

IE里的探索之定制浏览器好助手(中1)

时间: 2021-07-31 作者:daque

ie里的探究之定制欣赏器好帮忙(中)(作家:青苹果处事室编写翻译 2001年02月08日 14:00)检验和测定挪用者   像前方提到的,即使你运转的外壳本子不低于471,bho 就既能被internet explorer又能被windows explorer援用。在这个例子里,咱们假如波及一个专对 html 页面起效率的帮忙东西,以是它该当对 windows explorer 不起任何效率。一个不想被一定的挪用者加载的 dll 不妨在它创造谁是挪用者后,大略地在它的 dllmain() 因变量中归来 false。当你将 null 动作 api 因变量 getmodulefilename() 的第一个参数挪用它时,它归来挪用 dll 的模块名。这个参数是你想领会名字的模块的句柄。null 表白你想领会挪用 dll 的过程的名字。   if (dwreason == dll_process_attach)   {    tchar pszloader[max_path];    getmodulefilename(null, pszloader, max_path);    _tcslwr(pszloader);    if (_tcsstr(pszloader, _t("explorer.exe")))    return false;   }   你领会了过程的名字,你就能在它是 windows explorer 时退出加载进程。提防采用更庄重的减少是很伤害的。本质上,其它过程大概视为一个平常的因为挪用它但被中断。第一个被害者是 regsvr32.exe,这个步调用来机动备案东西。即使 你是用各别的尝试前提,比方说,只承诺 internet explorer 不妨实行:    if (!_tcsstr(pszloader, _t("iexplore.exe")))   你就不许备案 dll 了。本质上,当 regsvr32.exe 试图加载 dll 以挪用dllregisterserver() 因变量时,挪用被中断。 同 webbrowser 创造接洽   setsite() 本领是 bho 举行初始化以及一切只举行一次工作的场合。当你用 internet explorer 欣赏 url 时,你须要等候一对事变以保证所需的文书档案被实足载入并被初始化。惟有在这一场所上你能经过大概生存的东西模子安定地考察它的 实质。这表白你须要赢得一对南针。第一个是指向 iwebbrowser2 的,它是处置 webbrowser 东西的接口。第二个南针和事变相关。这个模块必需备案为欣赏器的事变监听者,再不不妨接受对于载入和文书档案关系事变的报告。经过运用 atl 的精致南针:   ccomqiptr<iwebbrowser2, &iid_iwebbrowser2> m_spwebbrowser2;   ccomqiptr<iconnectionpointcontainer,      &iid_iconnectionpointcontainer> m_spcpc;   源代码一致于:   hresult cviewsource::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;    // 赢得并生存欣赏器的 hwnd。其余为此后的运用安置键盘挂钩。    retrievebrowserwindow();    // 贯穿到容器以接收事变报告    return connect();   }   要赢得指向 iwebbrowser2 接口的南针,你只须要大略地查问。对事变处置的第一个办法,赢得 iconnectionpointcontainer 的南针,也用同样的方法。setsite() 的代码也查问欣赏器的 hwnd 并在当火线程上安置键盘挂钩。hwnd 此后会被用以挪动 internet explorer 窗口并变换它的尺寸。谁人挂钩,被用以供给一个热键,以简单用户表露或湮没 html 代码窗口。 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.