我正在尝试让我的IE BHO在启用EPM的Win8上工作(包括IE10和IE11预览版)。我找到了一些关于这个主题的微软文章(http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx),但它们仍然没有提供实际的示例来使其工作。
我已经编译了32位和64位的BHO,并像文章中所述添加了类别(CATID_AppContainerCompatible),但我仍然无法从IE获得任何Web浏览器事件。有人能指出更详细的示例,以使此工作吗?
这是我的rgs文件的样子:
HKCR
{
TestBHO.TestScript.1 = s 'TestScript Class'
{
CLSID = s '{051FB9EC-79EA-4F8E-9EC2-F1FF4462FB09}'
}
TestBHO.TestScript = s 'TestScript Class'
{
CLSID = s '{051FB9EC-79EA-4F8E-9EC2-F1FF4462FB09}'
CurVer = s 'TestBHO.TestScript.1'
}
NoRemove CLSID
{
ForceRemove {051FB9EC-79EA-4F8E-9EC2-F1FF4462FB09} = s 'TestScript Class'
{
ProgID = s 'TestBHO.TestScript.1'
VersionIndependentProgID = s 'TestBHO.TestScript'
ForceRemove 'Programmable'
InprocServer32 = s '%MODULE%'
{
val ThreadingModel = s 'Apartment'
}
'TypeLib' = s '{2D9CE0FA-2040-4A24-807E-0C0BF4E9ECE7}'
'Implemented Categories' = s ''
{
{59fb2056-d625-48d0-a944-1a85b5ab2640} = s ''
{
}
}
}
}
}
请注意,在IE的“管理附加组件”页面中,我看到我的BHO已启用并支持32位和64位,但DLL甚至没有被加载。