『原创』+『参考』使用WMI在C#下获取U盘的永久不变的物理序列号

  近几天想做个只能在优盘里使用的程序,查了很多相关的获取优盘物理序列号的文章,发现基本没有几个现存的,于是就从一英文网站抄了个过来,原文名称:Retrieving Non-Volatile USB Serial Number Using C# .NET,大家英文好的可以直接看原文。

  百分之九十九的优盘其实都有一个 OEM serial number.

  一般来说,Windows为其分配的逻辑序列号容易因为格式化或量化工具而丢失,如果不能获取优盘的永远不变的物理序列号,意味着就无法使用优盘等USB设备来做安全工具,本文即来解决这个问题,使无论优盘是格式化后还是采用特殊处理,其OEM物理序列号不会丢失。常用的有两种方法:使用注册表或使用Win32 WMI Provider. 有关WMI的介绍及说明,请查阅相关说明,已经很多了,本文使用了WMI的方法:

  首先在C#里添加对 SYSTEM.MANAGEMENT的引用,然后你就可以直接使用下面的代码了,一看就懂了。

  

USBSerialNumber

  最后,调用方法如下:

USBSerialNumber usbSN = new USBSerialNumber();
textBox3.Text 
= usbSN.getSerialNumberFromDriveLetter("I");//I为我机器上的U盘盘符,可以自己定义,但是一定要是机器上正在运转的U盘哦
原文地址:https://www.cnblogs.com/longqi293/p/1587511.html