title: Detect drive mount event in c#
body: <p>How to catch an event when a new drive is added to My Computer and preferably and when new mount point for some drive is created on a NTFS drive?</p>
  
  <hr>
  
  <p>I figued out this but it doesn't work  on mounted folders:  </p>
  
  <pre><code> _eventWatcher = new ManagementEventWatcher("SELECT * FROM Win32_VolumeChangeEvent");
  
   _eventWatcher.EventArrived += (o, args) =&gt; 
       {switch(args.NewEvent["EventType"].ToString()[0])
           {
               case '2':
                   //mount
                   Debug.WriteLine(args.NewEvent["DriveName"]);
                   break;
               case '3':
                   //unmount
                   break;
           }
       };
  
   _eventWatcher.Start();
  </code></pre>
  
  <p>Any ideas?</p>