本来是做了个BHO,被IE和Maxthon加载都没问题,但在腾讯的TT里却不行,发现从SetSite接收到的IUnknown指针得不到IWebBrowser接口,返回“不支持此接口的错误”,怎么知道这个IUnknown指针是干嘛的,支持什么接口?

解决方案 »

  1.   

    try IDispatch, then call GetTypeInfo
      

  2.   

    用了另外麻烦的方法实现得到WebBrowser接口,但发现用BHO在多窗口浏览器有致命的问题,只有改用MIME Filter来实现对html的分析,但还是发现蹊跷的问题,对于腾讯TT,为什么有时候打开网页会调用我的html filter,有时候又没有调用呢?我注册的是永久text/html filter。有没有遇到这种情况或是知道什么原因?再重复一下我的问题,写的pluggable text/html filter有时被TT浏览器加载,有时不会,这个filter不应该被所有需要解析html时加载么?
      

  3.   

    To my knownledge Tecent TT only load the BHOs for the first tab
      

  4.   

    是的,也许所有的单进程多窗口的基于IE内核的浏览器都是这样的。虽然我可以通过每个tab窗口的句柄查询到对应的IWebBrowser接口,但由于同一时刻只能监控一个页面的事件(因为只有一个BHO实例),而浏览网页时通常都是多窗口,多线程的,所以一个实例过滤不过来的。写到这里实然想到能不能每建一个tab窗口,我自己创建一个BHO实例,我得先试试。重复一下上一个问题,对于TT即使同一个页面,有时会调用我的html filter,有时不调用,而且在不调用我的filter的那次TT运行过程中,对于有的页面会调用filter,有的页面又不调用,看日志看了很久,没找到规律。还是希望也能解决这个问题。
      

  5.   

    有没有什么文档全面介绍这protocol filter的?
      

  6.   

    有没有全面介绍写bho的和它的接口的???