?
Solved

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

Posted on 2004-10-17
3
Medium Priority
?
237 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 12

Expert Comment

by:OnegaZhang
ID: 12336393
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 1000 total points
ID: 12336396
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
ID: 12336791
I did one since long time with help with this nice article
http://www.15seconds.com/issue/040331.htm
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Ownerdraw of the grid button.  A singleton class implentation and usage. Continuing from the fifth article about sudoku.   Open the project in visual studio. Go to the class view – CGridButton should be visible as a class.  R…
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.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Suggested Courses

752 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