Come aprire una nuova scheda da BHO?
-
28-10-2019 - |
Domanda
Vorrei aprire una nuova scheda dal mio BHO fatto in C#. Process.start (u) apre una nuova finestra, non una scheda, e chiama i browser predefiniti, che potrebbero non essere IE.
Voglio aprire la nuova scheda per spingere l'utente a scaricare e installare l'ultima versione del BHO.
Soluzione
Il modo corretto per farlo da un BHO è usare IWebBrowser2::Navigate2()
(Doc Link) e pass navOpenInNewTab
(Doc Link).
L'interrogatorio esiste su pinvoke.net, quindi probabilmente puoi iniziare con quello.
Puoi ottenere il puntatore IWebBrowser2 dal tuo sito seguendo questi passaggi:
- QueryInterface () Il tuo sito per iid_iserviceProvider.
- QueryService () The IserviceProvider per sid_stoplevelBrowser, IID_IServiceProvider.
- QueryService () Il livello di alto livello IserviceProvider per SID_SWEBBROWSERAPP, IID_IWebBrowser2.
... ma non so come farlo in C#.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow