• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 用ATL写了个ie页面上鼠标取词的BHO

用ATL写了个ie页面上鼠标取词的BHO

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了ie bho,atl,atl71.dll,atl100.dll下载,atl71.dll修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 用ATL写了个ie页面上鼠标取词的BHO
描述:

类似于金山词霸的鼠标取词,不过我这个只需要在ie页面取词,所以没有使用hook  TextOut()等函数的方法,而是采用了IHTMLTxtRange接口。现在我的情况是:对于单frame的简单页面,很简单的通过SetSite()中传进来的容器的IUnknown指针,由IWebBrowser2->IDispatch->IHTMLDocument2->IHTMLElement->IHTMLBodyElement的顺序依次就可以得到该页面的IHTMLBodyElement接口指针,然后调用IHTMLBodyElement::createTextRange()就可以创建一个该页面的IHTMLTxtRange指针,到这时就可以通过设置这个txtRange,任意取得在这个range之类的字符了。  
    但是对于多frame的复杂页面,比如在线msdn的页面, 由于父页面上有多个frame,于是就没有IHTMLBodyElement接口,没法createTextRange。我想到的办法是用IHTMLDocument2::elementFromPoint()得到鼠标所指向点的IHTMLElement接口,这里的IHTMLDocument2是父页面的接口指针,当鼠标指向的是一个frame时,得到的IHTMLElement接口就是指向这个frame,我的理解没有错吧?然后因为每个frame都会有自己的IHTMLDocument2接口,我想由通过elementFromPoint()得到的frame的IHTMLElement接口得到它的IHTMLDocument2接口,然后就可以依次得到frame的IHTMLBodyElement接口从而创建frame内的IHTMLTxtRange了,要怎么才能做到呢?
    虽然还是穷人,但是哪位大侠能帮我解决这个问题的话,我所有的分都给他了,bow。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在一个ie(BHO,band)插件中如何控制ie的弹出窗口的。
  • 如何使用BHO监听IE中按钮的触发
  • 正在做ie的bho,调试需要iexploreexe的symble文件,那里有?
  • [BHO]关于使用IDocHostUIHandler自定义IE右键菜单的问题
  • (BHO)如何制作自定义IE右键菜单
  • BHO编程中遇到:注册后无法打开IE的问题???
  • BHO监控IE上鼠标选择并拖动某块区域(文本)
  • BHO是否可以响应切换IE消息
  • 已经在IE中建立了一个BHO,如何获得鼠标在文档区的消息?
  • 请问如何利用BHO限制IE下载图片,禁止运行脚本等功能?

相关文章

  • 2017-06-04 tossfeng
  • 2017-06-04 初学COM一些不明白的问题
  • 2017-06-05 在dll内的钩子函数内不能调用PostMessage么?
  • 2017-06-05 关于tracewin!望指教!
  • 2017-06-05 我用CreateFile做一个串口通信的程序,为什么CreateFile总是返回INVALID_HAND_VALUE
  • 2017-06-04 给看看,谢谢
  • 2017-06-05 线程结束时主程序死掉了。
  • 2017-06-05 能否将本程序的权限提升到"关键系统进程"
  • 2017-06-04 用于检测人脸的视频应该有什么标准???
  • 2017-06-05 关于dll链接的问题!——专家,高手请进!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于COM的菜鸟问题送分题哦
    • WTL下aero扩展问题,诡异。。
    • 主线程fork两个线程,线程1发消息为何主线程受不到??代码是。。。。
    • 急,不够分再加!找不到IxxxPtr定义,在线等
    • 请教关于多线程对双CPU的支持问题!(分不够可另开!!!)
    • com组件带窗口
    • (100分)用ATL做过或用过ACTIVEX控件的,最好在网页面上用过的同志请进。小弟请教
    • 如何进入其他进程的内存区域?
    • 急,com服务器中内嵌DLL问题
    • 在VC2005下制作exe打包文件时,如何将安装路径写入注册表?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有