Domanda

Questo è MFC e ChtmlView, ma probabilmente si applica a tutti gli uso di controllo del Web IE.

Quando il controllo Web sta navigando in una pagina su alcuni siti, stiamo ricevendo il popup di avviso del contenuto misto HTTP / HTTPS.

Esiste un flag, un comando o una chiave di registro specificata EXE che può essere impostata mentre il nostro programma è in esecuzione che disabiliterà l'avviso?Ancora meglio, possiamo scegliere la risposta "sì" o "no"?

Non controlliamo il sito Web quindi "Fissa la pagina Web" non è un'opzione.Il nostro programma è in esecuzione sui PC dei clienti, quindi "Vai in Impostazioni IE" non è una buona soluzione.

È stato utile?

Soluzione

Implementa un gestore di sicurezza personalizzato < / a> sulla classe del sito di controllo utilizzata dalla classe derivata CHTMLView da gestire urlaction_html_mixed_content con un codice di successo. Il sito di controllo è l'implementazione di MFC del sito client ActiveX, Da cui il controllo WebBrowser utilizzato nelle funzionalità di host di query di ChtmlView .

Se si utilizza MFC 7.0 o superiore, è necessario sostituire il sito di controllo tramite una funzione di createcontrolsite overriden . In MFC 6.0 è possibile sostituire il contenitore di controllo solo a livello globale da chiamando AfxenableControlContainer con il tuo coccmanager che sovrascrive il proprio coccanager Metodo creatite.

Dopo aver sostituito il sito di controllo, aggiungere IinerviceProvider e le interfacce di Security Manager (, IinternetsecurityManager, opzionalmente iinternetsecuritymanagerEx e Iinternetsecuritymanagerex2) tramite Being_Interface_Part / End_Interface_Part Macro sulla classe del sito di controllo. Se non sei familiare con le macro MFC, controlla TN038: implementazione MFC / OLE IDUNKNown . La tua implementazione dovrebbe restituire inet_e_default_action a meno che quando il metodo è ProcessURLactionAction / ProcessURLaCaCex / ProcessURLaCex2 e il codice è urlaction_html_mixed_content, è necessario restituire S_OK. Riempire l'indirizzo di PPolicy con URLPOLICY_ACK per consentire silenziosamente il contenuto misto o urlpoly_disallow di non consentire. Utilizzare URLPOLICY_QUERY per chiedere all'utente quando necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top