我正在使用helloworld示例创建一个BHO。 Building Browser Helper Objects with Visual Studio 2005
BHO没有加载,我无法点击SetSite函数中的断点。
请告诉我注册BHO并随后进行调试所需的其他设置。
我正在使用IE9,VS2008。
非常感谢
答案 0 :(得分:2)
这是因为调试器没有附加到正确的IE9进程。要解决此问题,您需要指示IE9对所有选项卡使用单个进程。这可以通过设置注册表值来完成:HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ TabProcGrowth = 0
希望这有帮助。
答案 1 :(得分:1)
您确定已经注册了吗?假设您已准确地在上面的链接中实现了该示例(特别是关于在.rgs文件中使用正确的CLSID的部分),请尝试从提升/管理CMD窗口:
regsrv32 /s mybho.dll
这将在DLL中注册COM对象,并将其作为BHO注册到Internet Explorer
此外,使用IE9,您需要确保在Addons管理器中启用它(工具/管理插件)
答案 2 :(得分:1)
我有同样的问题。我使用的是64位IE9,但是我将调试器更改为使用32位,现在它对我有效。
在VS 2008中,转到菜单:
项目 - > 项目名称属性 - >配置属性 - >调试 - >命令
C:\ Program Files(x86)\ Internet Explorer \ iexplore.exe
之前我使用的是64位:
C:\ Program Files \ Internet Explorer \ iexplore.exe
还使用本地文件来避免保护模式出现问题:
命令参数:
某些本地html文件的路径
祝你好运......
答案 3 :(得分:0)
您是否在保护模式下运行?如果是,那么SetSite中的断点永远不会被击中。 请参阅http://msdn.microsoft.com/en-us/library/bb250462.aspx以了解有关受保护模式的更多信息。
您是否也尝试使用regasm注册BHO?