Cómo detectar un evento cuando se agrega una nueva unidad a Mi PC y preferiblemente y cuando se crea un nuevo punto de montaje para una unidad en una unidad NTFS?Detectar evento de montaje de unidad en C#
I figued a cabo esto, pero no funciona en las carpetas montadas:
_eventWatcher = new ManagementEventWatcher("SELECT * FROM Win32_VolumeChangeEvent");
_eventWatcher.EventArrived += (o, args) =>
{switch(args.NewEvent["EventType"].ToString()[0])
{
case '2':
//mount
Debug.WriteLine(args.NewEvent["DriveName"]);
break;
case '3':
//unmount
break;
}
};
_eventWatcher.Start();
alguna idea?
duplicado Posible de: http://stackoverflow.com/questions/4019065/monitoring-drives- with-wmi – aleroot
Con la API de Windows debe procesar el mensaje WM_DEVICECHANGE. Sin embargo, no sé cómo manejarlo en C#. –
¿Hay algo como esto solo para las carpetas montadas en las unidades NTFS? – user629926