Pergunta

Im atualmente usando ou seja, como um x ativo com coisa em wxWidgets e estava querendo saber se há alguma maneira fácil de alterar o agente de usuário que irá funcionar sempre.

ATM im mudar o cabeçalho, mas isso só funciona quando eu colocar manualmente o link (ou seja chamada setURL)

Foi útil?

Solução

A única maneira que vai "sempre trabalho," tão longe quanto eu tenho sido capaz de encontrar, é mudar a string user-agent no registro. Que a vontade, é claro, afetar todas instância do navegador web rodando na máquina.

Você também pode tentar uma pesquisa no Google sobre DISPID_AMBIENT_USERAGENT. De desta página Microsoft :

MSHTML também irá pedir um novo usuário agente através DISPID_AMBIENT_USERAGENT quando navegando para hiperlinks clicados. Esta propriedade do ambiente pode ser substituído, mas não é usado quando programaticamente chamando o Navigate método; ele também não vai fazer com que o userAgent propriedade dos DOM objecto de navegação ou clientInformation comportamento a ser alterado - esta propriedade refletirá sempre Internet própria corda UserAgent do Explorer.

Eu não estou familiarizado com o componente MSHTML, por isso não estou certo de que é útil.

Espero que, pelo menos, dá-lhe um lugar para começar. : -)

Outras dicas

Eu fiz um pouco de googling hoje com a dica que você forneceu cabeça geek e eu trabalhei para fora como fazê-lo.

wxWidgets usa uma classe ActiveX rapper chamado FrameSite que lida com os pedidos invocar. O que fiz foi fazer uma nova classe que herda isso, manipula o evento DISPID_AMBIENT_USERAGENT e passa todos os outros diante. Assim, agora eu posso voltar um agente de usuário diferente.

Obrigado pela ajuda.

Cabeça Geek já lhe disse onde no registy IE ficará por padrão.

Este é apenas um padrão, no entanto. Se você implementar [IDocHostUIHandler :: GetOptionKeyPath] ( http : //msdn.microsoft.com/en-us/library/aa753258 (VS.85% 29.aspx) ou [IDocHostUIHandler2 :: GetOverrideKeyPath] ( http://msdn.microsoft.com/en-us/library/aa753274 (VS.85% 29. aspx) , IE usará essa entrada do registro em seu lugar.

Você provavelmente vai querer usar RegMon de Sysinternal para depurar isso.

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