OVH Cloud OVH Cloud

Interface IWebBrowser2

1 réponse
Avatar
François Müller
Bonjour

Comment "obliger" IE à me fournir un pointeur à cette interface ?

J'ai une DLL qui implémente des toolsbars dans IE et j'ei besoin de cette
interface pour causer avec le browser, et pas moyen de me la faire retourner
.

(Dans la methode SetSite de l'interface IObjectWithSite où il est sensé me
la retourner, je ne l'obtiens pas)

Merci

François

1 réponse

Avatar
Olivier Huet
Bonjour,

Je ne sais pas si ça marche quand on est dans une toolbar, mais dans un
contrôle activex à l'intérieur d'une page web, ce genre de code (passer par
IServiceProvider::QueryService) marche :
(c'est en atl)
.....
CComPtr<IServiceProvider> spSP;
CComPtr<IOleContainer> spContainer;
CComPtr<IWebBrowser2> spWB;

m_spClientSite->GetContainer(&spContainer);
spContainer->QueryInterface(IID_IServiceProvider, (void**)&spSP);
spSP->QueryService(IID_IWebBrowserApp, IID_IWebBrowser, (void**)&spWB);


CComVariant vtUrl="yoyo.html", flags(navHyperlink), d2, d3, d4;
spWB->Navigate2(&vtUrl, &flags, &d2, &d3, &d4);
.....

bonne chance !

Olivier.

"François Müller" a écrit dans le message
de news:begvi3$51p50$
Bonjour

Comment "obliger" IE à me fournir un pointeur à cette interface ?

J'ai une DLL qui implémente des toolsbars dans IE et j'ei besoin de cette
interface pour causer avec le browser, et pas moyen de me la faire


retourner
.

(Dans la methode SetSite de l'interface IObjectWithSite où il est sensé me
la retourner, je ne l'obtiens pas)

Merci

François