硬盘或硬盘的序列号

Pri*_*esh 8 .net c# serial-number hard-drive

起初看起来这可能是一个非常简单的问题,有些机构可能会试图给我建议尝试谷歌,也可能是这样.但对我来说,我很难尝试Google,Stack Overflow并且找不到任何好的解决方案.

只想用C#获取硬盘或硬盘的序列号

请仔细阅读:硬盘序列号,但不是硬盘卷序列号(如C,D,E等).

为了获得硬盘卷的序列号,我在网上找到了解决方案并且工作正常,但问题在于获取硬盘的序列号.

有些机构可能会尝试将此问题作为下面的"放样溢出"问题的副本,或者可能会建议该问题的链接.但事实并非如此

并且以下任何问题都没有为C#中的这个问题提供良好的解决方案:

  1. 如何在C#中获取Hard-Disk SerialNumber(无WMI)?
  2. 如何在.net中检索硬盘固件序列号?
  3. 硬件序列号

Pri*_*esh 8

这是最终的解决方案:

获取没有WMI的物理HDD序列号

写这么多代码:

DriveListEx diskInfo = new DriveListEx();
diskInfo.Load();
string serialNo = diskInfo[0].SerialNumber;
Run Code Online (Sandbox Code Playgroud)

别忘了添加引用DriveInfoEx.dll.

  • DriveInfoex.dll无法正常运行Windows 7操作系统.它抛出以下错误System.IO.FileLoadException:无法加载文件或程序集'DriveInfoEx.dll'或其依赖项之一.此应用程序无法启动,因为应用程序配置不正确.重新安装应用程序可能会解决此问题.(HRESULT异常:0x800736B1) (2认同)
  • 你有GAC吗? (2认同)