Frage

Dies ist MFC und CHTMLView, aber es gilt wahrscheinlich für alle dh Web-Steuerungsnutzung.

Wenn der Websteuerelement auf einigen Websites auf einer Seite navigiert, erhalten Sie das Warn-Popup HTTP / HTTPS-Inhalt.

Gibt es ein Flag-, Befehls- oder EXE-spezifische Registrierungsschlüssel, der eingestellt werden kann, während unser Programm läuft, der die Warnung deaktiviert?Noch besser, können wir die Antwort "Ja" oder "Nein" wählen?

Wir steuern nicht die Website, also "Fix the webseite" ist keine Option.Unser Programm läuft auf Kunden-PCs, sodass "Gehen Sie in die IE-Einstellungen" auch keine gute Lösung.

War es hilfreich?

Lösung

einen benutzerdefinierten Sicherheitsmanager implementieren < / a> Auf der Control Site-Klasse, die von der CHTMLView abgeleiteten Klasse verwendet wird, um urlaction_html_mixed_content mit Erfolgscode. Die Steuerungsseite ist die Implementierung der MFC des ActiveX-Client-Sites, Von denen in der WebBrowser-Steuerung in CHTMLView-Abfragen Host-Funktionen verwendet werden.

Wenn Sie MFC 7.0 oder höher verwenden, müssen Sie die Steuerungsstandort über eine Überschreibungs-CreateControlSite-Funktion . In MFC 6.0 können Sie den Steuerungscontainer nur weltweit ersetzen von anrufen afxenablecontrolcontainer mit Ihrem eigenen CoccManager, der das überschreibt Createite-Methode.

Nach dem Ersetzen der Steuerungsseite, addieren Sie die SERVICEPROVIDER- und die Sicherheitsmanager-Schnittstellen (, IininNeSecurityManager, optional iininTeSecurityManagerex und iininternetSecuritymanagerEx2) über CONTRING_INTERFACE_PART / END_INTERFACE_PART-Makros auf der Control Site-Klasse. Wenn Sie mit den MFC-Makros nicht vertraut sind, überprüfen Sie TN038: MFC / OLE IUNKNOWN-Implementierung . Ihre Implementierung sollte INET_E_DEFAULT_ACTION zurückgeben, wenn die Methode, wenn die Methode ProzessurlactionAction / processurlactionactionEx / processurlactionex2 ist, und der Code ist URLACTION_HTML_MIXED_CONTENT, dann müssen Sie S_OK zurückgeben. Füllen Sie die Adresse von Ppolicy mit Urlpolicy_allow, um den gemischten Inhalt leise zuzulassen, oder URLPOLICY_DISASAL, um nicht zuzulassen. Verwenden Sie urlpolicy_query, um den Benutzer bei Bedarf zu fragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top