, , . .
, - var DateTime.Now, , , , x ( )
, , , .
, USB , .
, , , - WMI (__InstanceCreation Win32_LogicalDisk)
private void startMonitor()
{
while (serviceStarted)
{
ManagementEventWatcher watcher = new ManagementEventWatcher();
WqlEventQuery query = new WqlEventQuery("SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_LogicalDisk'");
watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
watcher.Query = query;
watcher.Start();
watcher.WaitForNextEvent();
}
Thread.CurrentThread.Abort();
}
EventArrived...
private void watcher_EventArrived(object obj, EventArrivedEventArgs e)
{
var newEvent = e.NewEvent;
ManagementBaseObject targetInstance = (ManagementBaseObject)newEvent.GetPropertyValue("TargetInstance");
string drivename = targetInstance.GetPropertyValue("Name").ToString();
Drivename , D: - ...
WMI, , .