/// <summary>
 /// Stop the watcher and prevent further notifications from being received.
 /// <remarks>If the watcher is not running, this has no effect.</remarks>
 /// </summary>
 public void Stop()
 {
     if (!Running)
     {
         return;
     }
     if (_registrationId > 0)
     {
         ShellNativeMethods.SHChangeNotifyDeregister(_registrationId);
         _registrationId = 0;
     }
     Running = false;
 }