MrSoda
2015-05-29 12:49
采纳率: 100%
浏览 2.6k
已采纳

怎样实时获取IE活动页面的句柄? 32位windows

项目要实现一个后台程序,监听IE浏览器有没有浏览特定页面
如果发现了特定页面加载,立刻弹出用户界面做一些操作可以代填用户名密码
用的方法是WM HTML GETOBJECT这个,获取IWebBrowser2接口进而监听
DWebEven2 事件,获取DocumentCompelete比对URL
现在已经把代填这部分搞定了,但是怎么才能实时监听IE当前活动页呢?
因为网页打开了可能有好几个标签,

能想到的方法都试过了:
1 最粗暴的就是开个线程不断的findwindow("IEFRAME")找Internet Explorer Server
2 用钩子监听SETFOCUS键盘焦点事件,有焦点,有IEFRAME然后执行
这个方法发现IE有个保护模式,钩子挂不上

请问有什么办法,能获取IE的活动页面?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • devmiao 2015-05-29 14:02
    已采纳

    getforegroundwindow
    findwindow

    打赏 评论
  • oyljerry 2015-05-29 15:03
    打赏 评论
  • MrSoda 2015-06-01 01:41

    谢谢二位,项目实践和想法还是有很大差距
    Findwindow的方法,确实不错但是不能完全解决我的问题
    因为我不可能专门用一个线程不停地findwindow
    要实时获取当前用户操作的IE窗口不牺牲点性能是不可能了

    我用的方法是钩子,而且用的是底层鼠标钩子
    用户每点一下进钩子获取坐标,根据坐标判断坐标所在窗口
    如果包含IE类就执行后边的操作

    打赏 评论

相关推荐 更多相似问题