Sto provando a far funzionare IE BHO su Win8 (anteprima IE10 e IE11) con EPM attivato. Ho trovato alcuni articoli sull'argomento da MS (http://blogs.msdn.com/b/ieinternals/archive/2012/03/23/understanding-ie10-enhanced-protected-mode-network-security-addons-cookies-metro-desktop.aspx) ma ancora non forniscono esempi reali su come farlo funzionare. Ho compilato il mio BHO in entrambi i 32 e 64 bit, aggiunto la categoria (CATID_AppContainerCompatible) come indicato nell'articolo, ma ancora non ottengo alcun evento del browser web da IE. Qualcuno può indicare un esempio più dettagliato su come farlo funzionare?IE BHO in EPM (Enhanced Protected Mode)
Ecco come il mio file RGS assomiglia:
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 ''
{
}
}
}
}
}
Si noti che in IE di Gestione componenti aggiuntivi Pagina Vedo il mio BHO come Enabled e supporta sia 32bit e 64bit, ma la DLL non è ancora caricato.
Prima di tutto, hai provato a disattivare EPM per confermare che stai ricevendo il contenuto che ti aspetti quando EPM non è attivo? In secondo luogo, la funzione Add-on Manager di IE mostra che il componente aggiuntivo sta caricando? Terzo, in che modo stai guardando per vedere se il tuo componente aggiuntivo sta ricevendo eventi? – EricLaw
1. Sì, il BHO si comporta come previsto quando si disabilita EPM. 2. Secondo il Gestore componenti aggiuntivi lo stato è "Abilitato" e il BHO è di "32 e 64 bit". 3. Ho aggiunto due caselle di messaggi per farmi sapere che ricevo gli eventi che mi aspetto. Uno quando viene chiamato SetSite e l'altro quando viene chiamato DISPID_DOCUMENTCOMPLETE. Di nuovo, entrambi gli eventi sono chiamati come previsto quando EPM NON è abilitato. – Shaish