读取usb接口的移动硬盘信息

来源:互联网 发布:mac cad布局背景颜色 编辑:程序博客网 时间:2024/05/16 08:31
string   deviceId   =   "";  
   
  ManagementObjectSearcher   mc1   =   new   ManagementObjectSearcher("SELECT   *   FROM     Win32_DiskDriveToDiskPartition");  
   
  foreach   (ManagementObject   mo   in   mc1.Get())  
  {  
  //System.Console.WriteLine(mo["Dependent"].ToString()   +   mo["Antecedent"].ToString());  
  //Win32_DiskDrive  
  using(ManagementObject   o1   =   new   ManagementObject(mo["Antecedent"].ToString()))  
  {  
  o1.Get();  
   
  if(o1["InterfaceType"].ToString().ToUpper()   ==   "USB")  
  {  
  //Win32_DiskPartition  
  using(ManagementObject   o2   =   new   ManagementObject(mo["Dependent"].ToString()))  
  {  
  o2.Get();  
  //System.Console.WriteLine(o["DeviceID"]);  
  deviceId   =   o2["DeviceID"].ToString();  
  break;  
  }  
  }  
  }  
  }  
   
  if(deviceId   ==   "")  
  {  
  System.Console.WriteLine("No   USB   interface   disk   has   been   found.");  
  }  
  else  
  {  
  ManagementObjectSearcher   mc2   =   new   ManagementObjectSearcher("SELECT   *   FROM     Win32_LogicalDiskToPartition");  
   
  foreach   (ManagementObject   mo   in   mc2.Get())  
  {  
  System.Console.WriteLine(mo["Dependent"].ToString()   +   mo["Antecedent"].ToString());  
   
  //Win32_DiskPartition  
  using(ManagementObject   o1   =   new   ManagementObject(mo["Antecedent"].ToString()))  
  {  
  o1.Get();  
  if(o1["DeviceID"].ToString()   ==   deviceId)  
  {  
  //Win32_LogicalDisk  
  using(ManagementObject   o2   =   new   ManagementObject(mo["Dependent"].ToString()))  
  {  
  o2.Get();  
  System.Console.WriteLine("USB   drive   found:"   +   o2["DeviceID"]);  
  }  
                                                   
  }  
  }  
  }    
   
  } 
原创粉丝点击