Làm thế nào để bắt sự kiện khi ổ đĩa mới được thêm vào Máy tính của tôi và tốt nhất là khi nào điểm lắp mới cho một số ổ đĩa được tạo trên ổ đĩa NTFS?Phát hiện sự kiện gắn ổ đĩa trong C#
tôi figued ra điều này, nhưng nó không hoạt động trên các thư mục gắn kết:
_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();
Bất kỳ ý tưởng?
có thể trùng lặp của: http://stackoverflow.com/questions/4019065/monitoring-drives- with-wmi – aleroot
Với Windows API, bạn nên xử lý tin nhắn WM_DEVICECHANGE. Tuy nhiên, không biết cách xử lý nó trong C#. –
Có một cái gì đó như thế này chỉ cho các thư mục được gắn trên ổ đĩa NTFS? – user629926