ie useragent wxWidgets
-
04-07-2019 - |
Question
J'utilise actuellement wxWidgets en tant qu'actif x com et je voulais savoir s'il existe un moyen simple de changer l'agent utilisateur qui fonctionnera toujours.
Atm im change l'en-tête, mais cela ne fonctionne que si je charge manuellement le lien (c'est-à-dire l'appel setUrl)
La solution
Le seul moyen qui fonctionnera toujours, " Pour l'instant, j'ai trouvé modification de la chaîne d'agent d'utilisateur dans le registre . Cela affectera bien sûr toutes les instances de navigateur Web exécutées sur cette machine.
Vous pouvez également essayer une recherche Google sur DISPID_AMBIENT_USERAGENT
. De cette page Microsoft :
MSHTML demandera également un nouvel utilisateur agent via
DISPID_AMBIENT_USERAGENT
lors de la navigation vers les liens hypertexte cliqués. Cette propriété ambiante peut être remplacé, mais il n'est pas utilisé quand appelant par programme le Navigate méthode; cela ne causera pas non plus la propriété userAgent des DOM objet de navigateur ou clientInformation comportement à modifier - cette propriété sera toujours refléter Internet Chaîne UserAgent de l'explorateur.
Je ne connais pas le composant MSHTML, donc je ne suis pas certain que cela soit utile.
J'espère que vous aurez au moins une place pour commencer. : -)
Autres conseils
J’ai fait un peu de recherches sur Google aujourd’hui avec l’allusion que vous aviez fournie à Geek et j'ai trouvé comment le faire.
wxWidgets utilise une classe de rappeur ActiveX appelée FrameSite qui gère les demandes d’appel. Ce que j'ai fait était de créer une nouvelle classe qui hérite de cela, gère l'événement DISPID_AMBIENT_USERAGENT et transmet tous les autres. Ainsi, je peux maintenant retourner un agent utilisateur différent.
Merci pour l'aide.
Head Geek vous a déjà indiqué où, dans le registre, IE regardera par défaut.
Ceci n’est cependant qu’un défaut. Si vous implémentez [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 utilisera cette entrée de registre à la place.
Vous voudrez probablement utiliser RegMon de SysInternal pour résoudre ce problème.