title: Detect active window changed using C# without polling
body: <p>How might one invoke a callback whenever the current active window changes. I've seen how it might be done using CBTProc. However, global events aren't easy to hook into with managed code. I'm interested in finding a way that doesn't require polling. I'd prefer an event driven approach.</p>
  
  <p>Regards</p>