es decir, usuario wxWidgets
-
04-07-2019 - |
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)
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.