@MurkyV: I don't off-hand know how to do this, but I can tell you I highly suspect this is going to be hugely complicated, even more so in C# (probably lots of Win32 Interop required). You may want to set your sights a bit lower if you're still just learning the language.