c#获取电脑序列号的方法示例

  

在c++需要使用GetSystemFirmwareTable的方法来获得PC的序列号,需要写的代码很多,但是在c#可以使用WMI来拿到序列号

  

首先是安装系统。管理、安装了这个库,在dotnet框架和dotnet核心都可以使用本文的方法获取电脑的序列号

  

安装系统。管理的方法是通过Nuget搜索系统。管理然后安装,如果使用的是VisualStudio 2017项目格式就可以复制下面代码到项目文件

        & lt; PackageReference包括="系统。管理”Version=" 4.5.0 "/祝辞      

我比较喜欢第二个方法来安装,因为这个速度比较快

  

安装完成使用WMI拿到序列号需要的代码很少,请看下面

        var搜索=new ManagementObjectSearcher (“SELECT * FROM Win32_BIOS”);   var mobos=search.Get ();   foreach (var临时mobos)   {   对象串行=temp (“SerialNumber”);//ProcessorID Win32_CPU如果你使用   pcsn=serial.ToString ();   Console.WriteLine (pcsn);   }   之前      

这样就可以拿到序列号,但是可能有些设备是没有序列号,很多时候是返回下面代码

  
  由O.E.

M
  由O.E.M.
  默认
  默认字符串

     

上面代码最后一行就是空白,所以需要先做判断是不是存在序列号,所有代码请看下面

     ///& lt; summary>///获得电脑号///& lt;/summary>   公共静态字符串GetPcsnString ()   {   var pcsn=" ";   试一试   {   var搜索=new ManagementObjectSearcher (“SELECT * FROM Win32_BIOS”);   var mobos=search.Get ();   foreach (var临时mobos)   {   对象串行=temp (“SerialNumber”);//ProcessorID Win32_CPU如果你使用   pcsn=serial.ToString ();   Console.WriteLine (pcsn);      如果   (   ! string.IsNullOrEmpty (pcsn)   ,,由O.E. pcsn !="M”//没有找到   ,,! pcsn.Contains (“O.E.M”)   ,,! pcsn.Contains (“OEM”)   ,,! pcsn.Contains(“违约”)   )   {   打破;   }   其他的   {   Console.WriteLine(“默认值”);   }   }   }   捕获(异常e)   {   Debug.WriteLine (e);//无法处理   }      返回pcsn;   }      之前      

需要知道,使用这个方法获取序列号是比较耗性能的,建议放在其他线程获取

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

c#获取电脑序列号的方法示例