How to communicate with DLL loaded in address space of Internet Explorer ?
Posted on 2004-10-17
I have wrote one Browser Helper Object in ATL, As you know that BHO is
just a DLL which Internet Explorer loads each time when it starts.
That means that BHO runs in the address space of Internet Explorer and
works with Internet Explorer.
Now I want to call one function of the BHO ( e.g.If
IDiscovery is my BHO , then I want to call
IDisocvery::CallThisFunction() from a third application) I want to
start the working of BHO explicitly.It Means that I want to control
the BHO which is loaded in address space of Internet Explorer from
another application. There might be many instances of Internet
Explorer,each one having the BHO (Dll) mapped in its address space. So
how can I communicate with the DLL loaded in the address space of
specific instance of Internet Explorer ?
In short,I want a flexible way to communicate with my BHO. I
have already used WM_COPYDATA (IPC mechanism ) to send some data from
BHO to my application. but this type of communication is something
different. Here I am communicating with DLL mapped in the address
space of the another process.
Can anyone shed some light on this problem and tell how I can achieve
this communication ?