我使用helloworld样本创建BHO。 Building Browser Helper Objects with Visual Studio 2005C++ BHO(IE插件)问题
BHO没有被加载,并且我无法在SetSite函数中达到断点。
请让我知道需要额外的设置来注册BHO并随后进行调试。
我正在使用IE9,VS2008。
非常感谢你
我使用helloworld样本创建BHO。 Building Browser Helper Objects with Visual Studio 2005C++ BHO(IE插件)问题
BHO没有被加载,并且我无法在SetSite函数中达到断点。
请让我知道需要额外的设置来注册BHO并随后进行调试。
我正在使用IE9,VS2008。
非常感谢你
这是因为调试器没有附加到正确的IE9进程。要解决此问题,您需要指定IE9为所有选项卡使用单个进程。这可以通过设置注册表值来完成:HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ TabProcGrowth = 0
希望这会有所帮助。
你确定你已经注册了吗?假设已经准确地在以上(特别是关于使用在.RGS文件的正确CLSID部分)的链接来实现的例子中,从提升/管理CMD窗口尝试:
regsrv32 /s mybho.dll
这将注册COM在DLL中的对象,以及与Internet Explorer注册为一个BHO
此外,随着IE9你需要确保它在附加组件管理器中开启(工具/管理加载项)
你运行在保护模式下?如果是,那么SetSite中的断点永远不会被打中。 请参阅http://msdn.microsoft.com/en-us/library/bb250462.aspx以了解有关保护模式的更多信息。
您是否还尝试使用regasm注册BHO?
我有同样的问题。我使用的是64位IE9,但我将调试器改为使用32位,现在它适用于我。
在VS 2008进入菜单:
项目 - >项目名称属性 - >配置属性 - >调试 - >命令
C:\ Program Files文件(x86)的\的Internet Explorer \ IEXPLORE.EXE
我是用64位前:
C:\ Program Files文件\的Internet Explorer \ IEXPLORE.EXE
还可以使用本地文件,以避免与保护模式问题:
命令参数:
路径当地一些HTML文件
好运...
这是很常见的问题。此外,你应该看看工具>管理加载项,并确保你的BHO列在那里。 – EricLaw 2011-07-19 00:55:39
我已经使用regsrv32注册了它。我也在插件管理器中启用它。即使在那之后,断点也没有被击中。 – Tilak 2011-06-03 02:37:58