Low-Level Keyboard Hook in C#

I answered a question today where someone asked for an example of setting a low-level keyboard hook with C#. I actually have an example of doing so in my May 2006 MSDN Magazine article on Managed Debugging Assistants, but the example is purposefully buggy in order to demonstrate the behavior of certain MDAs. Here is…


Fun with DVR-MS

My latest article for MSDN Online is now available at Fun with DVR-MS!  A bit on the long side, but in it I delve into working with DirectShow and DVR-MS files (the recorded television files generated by Windows Media Center) from managed code, and I demonstrate how to do things like work with DirectShow filter…


DVR-MS: Adventures in Closed Captioning

I finished the code for this project months and months ago, and I had every intention of writing a full MSDN article describing the ins and outs of what I’d accomplished, but time seems to have gotten away from me. Rather than let the code languish any longer, I’ve decided to simply write up a…


Edit DVR-MS Metadata

I was asked earlier this week if I knew of any tools that would let one easily edit the metadata associated with a DVR-MS file.  Specifically, the person wanted to edit the title and description of a recorded show.  There may very well be such a tool out there, but I’d never seen one, so…


Preview Handler Association Editor

I received an email from MSDN Magazine subscriber Oren Novotny thanking me for my preview handler article in the January 2007 issue of MSDN Magazine.  Oren also wondered whether a tool could be written to make it easy to edit preview handler registrations for particular extensions.  For example, what if you wanted to associate the…

73

Position Changer Add-In updated for Media Center in Windows Vista

Back in early 2005, I wrote an article for MSDN on implementing add-ins for Windows XP Media Center Edition 2005.  As part of that article, I implemented an add-in that made it easy to jump around in a recorded TV show, video, or music file using the remote control, simply by entering a time code using the…


Low-Level Mouse Hook in C#

After my last post on implementing low-level keyboard hooks in C#, Soumitra asked if it was possible to implement a low-level mouse hook in C#, too.  Sure.  Here is an example that will print out the location of the mouse every time you press the left mouse button down:class InterceptMouse { private static LowLevelMouseProc _proc =…


OutlookContactProvider

Back in May, I wrote an article for the Office Developer Center on MSDN on an idea I had for creating Outlook Calendar Providers (and later demonstrated how to write an additional provider for this to allow Windows XP Media Center 2004 recording schedules to be viewed as calendars in Outlook, which reminds me that I…


Position Changer Add-In updated for Windows XP Media Center Edition 2005 Update Rollup 2

Today, the Media Center team released Update Rollup 2 for Windows XP Media Center Edition 2005 (you may have heard of the update referred to previously as “Emerald”). Update Rollup 2 includes a plethora of modifications to improve the stability, reliability, and functionality of Windows XP Media Center Edition 2005.  A new SDK to match was…


Fun with DVR-MS (now on my blog)

Several years ago, I wrote an article for MSDN on programming against the DVR-MS file format.  I’m very pleased with how well the article was received, and to this day I get a lot of people writing to me about the article.  Unfortunately, recently the article was removed from MSDN.  Rather than spending a lot…