Ejemplo n.º 1
0
 public static bool EjectDrive(USBDeviceInfo drive)
 {
     if (drive.DriveLetters.Count <= 0)
     {
         return(false);
     }
     return(EjectDriveLetter(drive.DriveLetters[0]));
 }
Ejemplo n.º 2
0
        public DriveResult(string driveName, string driveLetters, USBDeviceInfo deviceInfo) : base(driveName, driveLetters)
        {
            mDriveName    = driveName;
            mDriveLetters = driveLetters;
            mDeviceInfo   = deviceInfo;

            Title    = driveName;
            SubTitle = driveLetters;
            Action   = OnSelect;
        }
Ejemplo n.º 3
0
        public static List <USBDeviceInfo> ListUSBDevices()
        {
            List <USBDeviceInfo>       devices = new List <USBDeviceInfo>();
            ManagementObjectCollection col;
            //string query = @"select * from Win32_USBControllerDevice";
            //string query = @"select * from Win32_USBHub";
            string query = @"select * from Win32_DiskDrive where InterfaceType = 'USB'";

            using (var searcher = new ManagementObjectSearcher(query)) {
                col = searcher.Get();
            }

            foreach (var device in col)
            {
                // query for partitions
                string deviceID = device.Properties["DeviceID"].Value.ToString();

                var           deviceIDs  = GetPartitionsDeviceIDs(deviceID);
                List <string> allLetters = new List <string>();
                foreach (var partitionDeviceID in deviceIDs)
                {
                    var letters = GetParitionDriveLetters(partitionDeviceID);
                    foreach (string letter in letters)
                    {
                        allLetters.Add(letter);
                    }
                }

                var deviceInfo = new USBDeviceInfo {
                    Name         = device.Properties["Name"].Value.ToString(),
                    Caption      = device.Properties["Caption"].Value.ToString(),
                    DeviceID     = deviceID,
                    PnPDeviceID  = device.Properties["PNPDeviceID"].Value.ToString(),
                    Description  = device.Properties["Description"].Value.ToString(),
                    Status       = device.Properties["Status"].Value.ToString(),
                    DriveLetters = allLetters
                };

                devices.Add(deviceInfo);
            }
            col.Dispose();
            return(devices);
        }