Pergunta

Este é o MFC e o ChtmlView, mas provavelmente se aplica a todos os itens do IE Web Control.

Quando o controle da Web estiver navegando para uma página em alguns sites, estamos recebendo o pop-up de aviso de conteúdo misto HTTP / HTTPS.

Existe alguma chave de registro de sinalização, comando ou exe específica que possa ser definida enquanto nosso programa está sendo executado que desativará o aviso?Melhor ainda, podemos escolher a resposta "sim" ou "não"?

Não controlamos o site para "Corrigir a página da Web" não é uma opção.Nosso programa está sendo executado em PCs de clientes para que "faça as configurações do IE" também não é uma boa solução.

Foi útil?

Solução

Implementar um gerenciador de segurança personalizado < / a> na classe de site de controle usada pela classe derivada chtmlview para lidar com urlaction_html_mixed_content com um código de sucesso. O site de controle é a implementação do MFC do site do ActiveX, A partir do qual o controle WebBrowser é usado em recursos de host de consultas chtmlview .

Se você usar o MFC 7.0 ou superior, precisará substituir o site de controle através de uma função de createControlsite de Overniden . No MFC 6.0 você só pode substituir o contêiner de controle globalmente por chamando AFXenablecontrolContainer Com seu próprio CoccManager que substitui o Método Creesite.

Após a substituição do site de controle, adicione IServiceProvider e as interfaces do Gerenciador de Segurança (, iInternetSecurityManager, opcionalmente IInternetsecurityManagerex e IInternetsecurityManagerex2) via Begin_Interface_Part / End_Interface_Part macros na classe Site de controle. Se você não estiver familiarizado com as macros MFC, verifique TN038: MFC / OLE INUNKNOWN Implementation . Sua implementação deve retornar Inet_e_Default_Action, a menos que o método seja processadorCacionário / ProcessurLactionEticEtex / ProcessurLactionEx2 e o código é URLaction_html_mixed_content, então você precisa retornar S_OK. Encha o endereço do Ppolicy com urlpolicy_allow para permitir silenciosamente conteúdo misto ou urlpolicy_disallow para não permitir. Use URLPolicy_Query para perguntar ao usuário quando necessário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top