Uri London
Uri London

Reputation: 10797

Communication betweeh BHO and Explorer Bar

I've a IE Explorer bar (Band object) with lots of UI and communication to server which I would like to implement in C# (.NET). I also have a BHO with all kind of DOM manipulation and events which I would like to implement in C++ (using ATL). What should be the best way to communicate between these two components. Given that a single process can have several of those (Explorer Bar and BHO per tab), the pairing has to somehow facilitate IE.

Upvotes: 0

Views: 431

Answers (3)

Eric Hartford
Eric Hartford

Reputation: 17962

I recommend using the Registry for this. The registry can handle a large payload, and it is fast and reliable, and you have the rights to access it. If your process had the privileges and you want a faster throughput I'd say go with named pipes. But your hands are tied as a BHO. (I presume anyway, I haven't actually tried to register a named pipe in a BHO process.)

"the pairing has to somehow facilitate IE." IE does not care - have each process generate its own GUID, and then create a registry key with that GUID as the name.

Upvotes: 0

Sheng Jiang 蒋晟
Sheng Jiang 蒋晟

Reputation: 15261

You can use IE to facilitate connections, for example you can call IWebBrowser2::PutProperty to store the automation interface of your BHO and retrieve it in your explore bar.

Upvotes: 1

Ken Brittain
Ken Brittain

Reputation: 2265

You can write an object and register it in the Running Object Table and then coordinate communication from there.

You could use any form of IPC at this point http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx.

Upvotes: 0

Related Questions