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.

È stato utile?

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:

  1. QueryInterface () Il tuo sito per iid_iserviceProvider.
  2. QueryService () The IserviceProvider per sid_stoplevelBrowser, IID_IServiceProvider.
  3. 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
scroll top