Solved

How to communicate with DLL loaded in address space of Internet Explorer ?

Posted on 2004-10-17
3
229 Views
Last Modified: 2013-11-20
Hello All
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 ?
0
Comment
Question by:rollocool
  • 2
3 Comments
 
LVL 12

Expert Comment

by:OnegaZhang
Comment Utility
try the following
register BHO in ROT
GetRunningObjectTable
IRunningObjectTable::Register

in client program , use IRunningObjectTable::EnumRunning to get all BHO instance and find out the one you are interested in.

welcome to www.fruitfruit.com
0
 
LVL 12

Accepted Solution

by:
OnegaZhang earned 250 total points
Comment Utility
http://www.codeguru.com/Cpp/COM-Tech/atl/misc/article.php/c7387/
Interprocess Communication Using the Running Object Table (ROT)

welcome to www.fruitfruit.com
0
 
LVL 2

Expert Comment

by:raed_hasan
Comment Utility
I did one since long time with help with this nice article
http://www.15seconds.com/issue/040331.htm
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
ORA-01403: no data found 43 82
sumDigits challenge 9 95
noX challenge 17 75
wordcount challenge 11 72
Introduction: Load and Save to file, Document-View interaction inside the SDI. Continuing from the second article about sudoku.   Open the project in visual studio. From the class view select CSudokuDoc and double click to open the header …
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now