首页 > 编程 > C# > 正文

C#获取U盘序列号的方法

2019-10-29 21:38:11
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了C#获取U盘序列号的方法,涉及C#针对硬件底层信息操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#获取U盘序列号的方法。分享给大家供大家参考。具体如下:

 

 
  1. using System.Management; 
  2. private List<string> _serialNumber = new List<string>(); 
  3. /// <summary> 
  4. /// 调用这个函数将本机所有U盘序列号存储到_serialNumber中 
  5. /// </summary> 
  6. private void matchDriveLetterWithSerial() 
  7. { 
  8. string[] diskArray; 
  9. string driveNumber; 
  10. var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDiskToPartition"); 
  11. foreach (ManagementObject dm in searcher.Get()) 
  12. { 
  13. getValueInQuotes(dm["Dependent"].ToString()); 
  14. diskArray = getValueInQuotes(dm["Antecedent"].ToString()).Split(','); 
  15. driveNumber = diskArray[0].Remove(0, 6).Trim(); 
  16. var disks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); 
  17. foreach (ManagementObject disk in disks.Get()) 
  18. { 
  19. if (disk["Name"].ToString() == ("////.//PHYSICALDRIVE" + driveNumber) & disk["InterfaceType"].ToString() == "USB") 
  20. { 
  21. _serialNumber.Add(parseSerialFromDeviceID(disk["PNPDeviceID"].ToString())); 
  22. } 
  23. } 
  24. } 
  25. } 
  26. private static string parseSerialFromDeviceID(string deviceId) 
  27. { 
  28. var splitDeviceId = deviceId.Split('//'); 
  29. var arrayLen = splitDeviceId.Length - 1; 
  30. var serialArray = splitDeviceId[arrayLen].Split('&'); 
  31. var serial = serialArray[0]; 
  32. return serial; 
  33. } 
  34. private static string getValueInQuotes(string inValue) 
  35. { 
  36. var posFoundStart = inValue.IndexOf("/""); 
  37. var posFoundEnd = inValue.IndexOf("/"", posFoundStart + 1); 
  38. var parsedValue = inValue.Substring(posFoundStart + 1, (posFoundEnd - posFoundStart) - 1); 
  39. return parsedValue; 
  40. } 

调用方法:

 

 
  1. matchDriveLetterWithSerial(); 
  2. string[] aa = _serialNumber.ToArray(); 
  3. for (int i = 0; i < aa.Length; i++) 
  4. { 
  5. aa[i].ToString(); //这里就可以拿出现在所有的U盘序列号 
  6. } 

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表