Pregunta

Actualmente lo estoy usando, por ejemplo, como una x com activa en wxWidgets y quería saber si hay alguna manera fácil de cambiar el agente de usuario que siempre funcionará.

Atm im cambiando el encabezado, pero esto solo funciona cuando carga manualmente el enlace (es decir, llamada setUrl)

¿Fue útil?

Solución

La única forma en que "siempre funcionará", por lo que he podido encontrar, es cambiando la cadena de agente de usuario en el registro . Eso, por supuesto, afectará a cada instancia del navegador web que se ejecuta en esa máquina.

También puede intentar una búsqueda en Google en DISPID_AMBIENT_USERAGENT . Desde esta página de Microsoft :

  

MSHTML también pedirá un nuevo usuario   agente a través de DISPID_AMBIENT_USERAGENT   al navegar a hipervínculos cliqueados.   Esta propiedad ambiental puede ser   anulado, pero no se usa cuando   programáticamente llamando al Navegar   método; tampoco causará la   UserAgent propiedad de los DOM's   Objeto navegador o información del cliente   comportamiento a alterar - esta propiedad   siempre reflejará Internet   Propia cadena de UserAgent del explorador.

No estoy familiarizado con el componente MSHTML, así que no estoy seguro de que sea útil.

Espero que al menos te dé un lugar para comenzar. :-)

Otros consejos

Hice un poco de búsqueda en Google hoy con la pista de que me diste la cabeza geek y descubrí cómo hacerlo.

wxWidgets utiliza una clase de rapero activex llamada FrameSite que maneja las solicitudes de invocación. Lo que hice fue crear una nueva clase que hereda de esto, maneja el evento DISPID_AMBIENT_USERAGENT y pasa todos los demás. Por lo tanto, ahora puedo devolver un agente de usuario diferente.

Gracias por la ayuda.

Head Geek ya te dijo en qué parte del registro se verá IE por defecto.

Sin embargo, esto es solo un valor predeterminado. Si implementa [IDocHostUIHandler :: GetOptionKeyPath] ( http : //msdn.microsoft.com/en-us/library/aa753258 (VS.85% 29.aspx) o [IDocHostUIHandler2 :: GetOverrideKeyPath] ( http://msdn.microsoft.com/en-us/library/aa753274 (VS.85% 29). aspx) , IE utilizará esa entrada de registro en su lugar.

Probablemente quieras usar el RegMon de SysInternal para depurar esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top