<p>I'm just concerned about Windows, so there's no need to go into esoterica about Mono compatibility or anything like that.</p>

<p>I should also add that the app that I'm writing is WPF, and I'd prefer to avoid taking a dependency on <code>System.Windows.Forms</code> if at all possible.</p>

The simplest way would be to create an Autoplay Handler:
http://www.codeproject.com/KB/system/AutoplayDemo.aspx
Autoplay Version 2 is a feature in
  Windows XP that will scan the first
  four levels of a removable media, when
  it arrives, looking for media content
  types (music, graphics, or video).
  Registration of applications is done
  on a content type basis. When a
  removable media arrives, Windows XP
  determines what actions to perform by
  evaluating the content and comparing
  it to registered handlers for that
  content.
A
detailed MSDN article
is also available.