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)

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top