title: Listen for events in another application
body: <p>Suppose I have two applications written in C#. The first is a third party application that raises an event called "OnEmailSent".</p>
  
  <p>The second is a custom app that I've written that I would like to somehow subscribe to the "OnEmailSent" even of the first application.</p>
  
  <p>Is there any way that I could somehow attach the second application to an instance of the first application to listen for "OnEmailSent" event?</p>
  
  <hr>
  
  <p>So for further clarification, my specific scenario is that we have a custom third party application written in c# that raises an "OnEmailSent" event. We can see the event exists using reflector.</p>
  
  <p>What we want to do is have some other actions take place when this component sends an email.</p>
  
  <p>The most efficient way we can think of would be to be able to use some form of IPC as anders has suggested and listen for the OnEmailSent event being raised by the third party component.</p>
  
  <p>Because the component is written in C# we are toying with the idea of writing another C# application that can attach itself to the executing process and when it detect the OnEmailSent event has been raise it will execute it's own event handling code.</p>
  
  <hr>
  
  <p>I might be missing something, but from what I understand of how remoting works is that there would need to be a server defining some sort of contract that the client can subscribe to.</p>
  
  <p>I was more thinking about a scenario where someone has written a standalone application like outlook for example, that exposes events that I would like to subscribe to from another application.</p>
  
  <p>I guess the scenario I'm thinking of is the .net debugger and how it can attach to executing assemblies to inspect the code whilst it's running.</p>