PDA

View Full Version : usb



help man
چهارشنبه 08 اردیبهشت 1389, 04:56 صبح
دوستان عزيز سلام من ميخواستم بدونم كه محل درايور هاي usbدر كامپيوتر كجاست و ايا اگه من يك سخت افزار جانبي داشته باشم كه به usb وصل كنم مانند يك mp3 plyer ايا ميتونم يك توري تغيير وتحولات ديتا ان را ببينم

LORD AELX
چهارشنبه 08 اردیبهشت 1389, 07:13 صبح
// browse all USB WMI physical disks
foreach(ManagementObject drive in new ManagementObjectSearcher(
"select * from Win32_DiskDrive where InterfaceType='USB'").Get())
{
// associate physical disks with partitions

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

// associate partitions with logical disks (drive letter volumes)

foreach(ManagementObject disk in new ManagementObjectSearcher(
"ASSOCIATORS OF {Win32_DiskPartition.DeviceID='"
+ partition["DeviceID"]
+ "'} WHERE AssocClass =
Win32_LogicalDiskToPartition").Get())
{
Console.WriteLine("Disk=" + disk["Name"]);
}
}

// this may display nothing if the physical disk

// does not have a hardware serial number

Console.WriteLine("Serial="
+ new ManagementObject("Win32_PhysicalMedia.Tag='"
+ drive["DeviceID"] + "'")["SerialNumber"]);
}
کد بالا با WMI (بدون LINQ) کار می کنه. ضمنا این هم یه کد دیگه (که تست نکردم):


IList<String> fullNames = new List<String>();
foreach (DriveInfo driveInfo in DriveInfo.GetDrives()) {
if (driveInfo.DriveType == DriveType.Removable) {
fullNames.Add(driveInfo.FullName);
}
}
اینم یه سورس کد نمونه: http://www.codeproject.com/KB/system/DriveDetector.aspx