6、U盘插拔检测
code public const int DBT_DEVICEREMOVECOMPLETE = 0x8004; public const int DBT_DEVICEARRIVAL = 0x8000; public const int WM_DEVICECHANGE = 0x219; protected override void WndProc(ref Message m) { try { if (m.Msg == WM_DEVICECHANGE) { switch (m.WParam.ToInt32()) { case DBT_DEVICEARRIVAL://U盘插入 if (myConfig.ClientEnabled) { UDiskWatcher.UDiskArrival(); } break; case DBT_DEVICEREMOVECOMPLETE: //U盘卸载 UDiskWatcher.UDiskRemove(); break; default: break; } } } catch (Exception ex) { throw new Exception("系统消息过滤异常:" + ex.Message); } base.WndProc(ref m); }
当检测到有U盘插入的时候去做相应的一些动作,
codeDriveInfo[] s = DriveInfo.GetDrives(); foreach (DriveInfo drive in s) { if (drive.DriveType == DriveType.Removable)//如果是移动设备 { } }
当检测到U盘插入后自己通过遍历所有设备查找所有移动设备,去进行自己的操作。