protected void CleanupEvtHandle(Dictionary<string, IntPtr> handles)
 {
     if (handles != null)
     {
         try
         {
             Dictionary<string, IntPtr>.Enumerator e = handles.GetEnumerator();
             while (e.MoveNext())
             {
                 CleanupEvtHandle(e.Current.Value);
             }
         }
         catch
         {
         }
     }
 }