Detecter Disque dur usb [Résolu]

Signaler
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
-
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
-
Bonjour

j'aimerai savoir comment détecter que les disque dur EXTERNE (en usb)

J'arrive a détecter les disque mais il affiche aussi les disque locaux.

Quelqu'un aurait-il une idée?

2 réponses

Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
28
Bonjour

il faut passer par WMI,
je n'en suis pas un pro, mais çà çà marche:
private void lookForUsdDrive()
{

foreach (ManagementObject drive in new ManagementObjectSearcher("select * from Win32_DiskDrive where InterfaceType='USB'").Get())
{
foreach (ManagementObject partition in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + drive["DeviceID"] + "'} WHERE AssocClass =Win32_DiskDriveToDiskPartition").Get())
{
Console.WriteLine("Partition=" + partition["Name"]);

foreach (ManagementObject disk in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + partition["DeviceID"] + "'} WHERE AssocClass =Win32_LogicalDiskToPartition").Get())
{
DriveInfo drvinf = new DriveInfo(disk["Name"] + "\");
Console.WriteLine("Name:" + drvinf.Name);
Console.WriteLine(" -DriveFormat:" + drvinf.DriveFormat);
Console.WriteLine(" -DriveType:" + drvinf.DriveType);
Console.WriteLine(" -IsReady:" + drvinf.IsReady);
Console.WriteLine(" -RootDirectory:" + drvinf.RootDirectory);
Console.WriteLine(" -TotalFreeSpace:" + drvinf.TotalFreeSpace);
Console.WriteLine(" -TotalSize:" + drvinf.TotalSize);
Console.WriteLine(" -VolumeLabel:" + drvinf.VolumeLabel);
}
}
}

return;
}


Bob

C# is amazing, enjoy it!
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013

je vais changer un peu car je ne travail pas en console

merci en tout cas