문제

이것은 MFC 및 CHTMLVIEW이지만 모든 IE 웹 제어 사용에 적용됩니다.

웹 컨트롤이 일부 사이트의 페이지로 탐색 할 때 HTTP / HTTPS 혼합 컨텐츠 경고 팝업을 얻는 중입니다.

프로그램이 실행 중일 때 설정하는 동안 설정할 수있는 플래그, 명령 또는 EXE 특정 레지스트리 키가 있으므로 경고를 비활성화 할 수 있습니까?더 나은 "예"또는 "아니오"응답을 선택할 수 있습니까?

웹 사이트를 제어하지 않으므로 "웹 페이지 수정"옵션이 아닙니다.우리의 프로그램은 고객 PC에서 실행되므로 "IE 설정으로 이동하는"또한 좋은 해결책이 아닙니다.

도움이 되었습니까?

해결책

사용자 지정 보안 관리자 구현 < / a> urlaction_html_mixed_content 성공 코드가 있습니다. 컨트롤 사이트는 MFC의 ActiveX 클라이언트 사이트 인 CHTMLView에서 사용되는 WebBrowser 컨트롤이 호스트 기능 에서 사용되는 WebBrowser 컨트롤.

MFC 7.0 이상을 사용하는 경우 컨트롤 사이트 재정의 createControlsite 함수를 통해 . MFC 6.0에서는 AfxEnableControlContainer 호출 오버라이드를 오버라이드하는 자신의 CoccManager와 함께 전역으로 제어 컨테이너를 전역으로 바꿀 수 있습니다. 생성 방법을 생성합니다.

제어 사이트를 교체 한 후 IserviceProvider 및 Security Manager 인터페이스 (iInternetSecurityManager, IinterNetSecurityManagerex 및 IinterNetSecurityManagerex2)를 추가하여 Control Site 클래스의 Begin_Interface_Part / END_Interface_Part 매크로를 사용합니다. MFC 매크로에 익숙하지 않은 경우 TN038 : MFC / OLE IUNKNOWN 구현 메소드가 ProcessUrlActionAction / ProcessUrlActionAx / ProcessUrlactionEx2이고 코드가 URLAction_html_mixed_content 인 경우가 아니라면 구현이 inet_e_default_action을 반환해야합니다. 그런 다음 S_OK를 반환해야합니다. urlicy의 주소를 urlpolicy_allow로 채우고 혼합 된 콘텐츠 또는 URLPolicy_Disallow가 허용하지 않도록하십시오. URLPOLICY_Query를 사용하여 필요할 때 사용자에게 물어보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top