Comment puis-je obtenir une liste de tous les périphériques USB connectés sur un ordinateur Windows ?
Avez-vous une idée de la raison pour laquelle la classe ObjectQuery n'a pas de référence alors que j'utilise System.Management ?
Comment puis-je obtenir une liste de tous les périphériques USB connectés sur un ordinateur Windows ?
Il s'agit d'un exemple beaucoup plus simple pour les personnes qui ne recherchent que des lecteurs usb amovibles.
using System.IO;
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
if (drive.DriveType == DriveType.Removable)
{
Console.WriteLine(string.Format("({0}) {1}", drive.Name.Replace("\\",""), drive.VolumeLabel));
}
}
Vous pouvez trouver ce fil utile. Et voici un projet code google à titre d'exemple (il P/Invoque dans setupapi.dll
).
Avez-vous une idée de la raison pour laquelle la classe ObjectQuery n'a pas de référence alors que j'utilise System.Management ?
lstResult.Clear();
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())
{
foreach (ManagementObject disk in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + partition["DeviceID"] + "'} WHERE AssocClass = Win32_LogicalDiskToPartition").Get())
{
foreach (var item in disk.Properties)
{
object value = disk.GetPropertyValue(item.Name);
}
string valor = disk["Name"].ToString();
lstResult.Add(valor);
}
}
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.