BHO 在 IE 6.0 正常,在 IE 8.0 完全没有反应,请帮忙

global_biz 2014-06-23 12:15:24
Hi,

我用 C# .Net 做了一个 BHO, 原文: http://bbs.csdn.net/topics/390816167

我是参考这个做的: http://blog.csdn.net/yanghongchang_/article/details/9998827

当我工程全部完成后,在 Windows 2003 / XP 下可以正常运行,IE 版本是 6.0, 运行的时候,浏览器在 Addon 里面可以看到有加载到 BHO 的 dll 文件,同时我有输出日志或弹出 MessageBox 来验证程序是正常被调用到。

但是,当我把同样一个程序发布到 Windows server 2008 r2 / Winddows 7 的时候,该机器的 IE 版本是 8.0,. 我注册了 dll 后, 浏览器在 Addon 里面可以看到有加载到 BHO 的 dll 文件,并且也显示是 Enabled 了,

但是,之前在 6.0 里面的所有日志与弹出框在 8.0 全部没有动静,好像根本就这个程序没有监控到 IE 页面一样,完全没有反应。

请问是什么回事??请有经验的帮下忙。谢谢。
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
global_biz 2014-06-23
  • 打赏
  • 举报
回复
问题解决了,需要打开 IE 的选项: Enable third-party browser extension 谢谢。
global_biz 2014-06-23
  • 打赏
  • 举报
回复
引用 2 楼 xian_wwq 的回复:
这个估计是浏览器版本的问题,可以试下高版本IE的兼容模式试试
是不是 IE 8 或以上的版本的 GUID 改变了?? 请问有什么办法可以知道 IE 是使用了什么 GUID ?? 下面是在 IE 6 运行时使用的 GUID: Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352")

    [
    ComVisible(true),
    InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
    Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352")
    ]
    public interface IObjectWithSite
    {

        [PreserveSig]
        int SetSite([MarshalAs(UnmanagedType.IUnknown)]object site);
        [PreserveSig]
        int GetSite(ref Guid guid, out IntPtr ppvSite);

    }
xian_wwq 2014-06-23
  • 打赏
  • 举报
回复
这个估计是浏览器版本的问题,可以试下高版本IE的兼容模式试试
global_biz 2014-06-23
  • 打赏
  • 举报
回复
请有经验的帮下忙。谢谢。

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧