Hi John,
Thanks for posting in this group.
Based on my understanding, you want to make an application that can capture
another application's changes(events), that is a monitor application.
This is however a big topic, it based on the application you wanted to
monitor.
If another application is a .Net managed application, the recommanded
interprocess communication way is remoting which can also be used on the
same machine.
As you said, you already know how to get this done.
If you wanted to monitor some certain applications such as office series,
you can use automation(add com reference), which is very convenient for you.
For more information, please search automation in MSDN or KB.
If you wanted to monitor a common win32 application which is writen by
yourself, you can P/invoke many of these conventional interprocess
communication technicals such as named pipe, CopyData windows message,
Memory Mapping File, to get this done.(Actually, the named pipe, CopyData
use MMF under the hood).
For more information, please refer to win32 books talk about interprocess
communication.
If you wanted to monitor a win32 application, you know little about, I
think you should use Spy++ or other tools to undertand its mechanism, then
P/invoke remote hook to inject a unmanaged dll into that application's
process space. For more information, please refer to hook in MSDN.
Btw: for the first situation, beside remoting, you also can P/invoke all
those win32 interprocess communication technicals: MMF, named pipe, etc.
Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! -
www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.