国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 獲取 PC 序列號的方法示例

2020-01-24 00:16:11
字體:
來源:轉載
供稿:網友

在 C++ 需要使用 GetSystemFirmwareTable 的方法來獲得 PC 的序列號,需要寫的代碼很多,但是在 C# 可以使用 WMI 來拿到序列號

首先是安裝 System.Management ,安裝了這個庫,在 dotnet framework 和 dotnet core 都可以使用本文的方法獲取 PC 的序列號

安裝 System.Management 的方法是通過 Nuget 搜索System.Management然后安裝,如果使用的是VisualStudio 2017項目格式就可以復制下面代碼到項目文件

<PackageReference Include="System.Management" Version="4.5.0" />

我比較喜歡第二個方法來安裝,因為這個速度比較快

安裝完成使用 WMI 拿到序列號需要的代碼很少,請看下面

        var search = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");        var mobos = search.Get();        foreach (var temp in mobos)        {          object serial = temp["SerialNumber"]; // ProcessorID if you use Win32_CPU          pcsn = serial.ToString();          Console.WriteLine(pcsn);        }

這樣就可以拿到序列號,但是可能有些設備是沒有序列號,很多時候是返回下面代碼

To be filled by O.E.M
To be filled by O.E.M.
Default
Default string

上面代碼最后一行就是空白,所以需要先做判斷是不是存在序列號,所有代碼請看下面

    /// <summary>    /// 獲得pc號    /// </summary>    public static string GetPcsnString()    {      var pcsn = "";      try      {        var search = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");        var mobos = search.Get();        foreach (var temp in mobos)        {          object serial = temp["SerialNumber"]; // ProcessorID if you use Win32_CPU          pcsn = serial.ToString();          Console.WriteLine(pcsn);          if          (            !string.IsNullOrEmpty(pcsn)            && pcsn != "To be filled by O.E.M" //沒有找到            && !pcsn.Contains("O.E.M")            && !pcsn.Contains("OEM")            && !pcsn.Contains("Default")          )          {            break;          }          else          {            Console.WriteLine("默認值");          }        }      }      catch (Exception e)      {        Debug.WriteLine(e);        // 無法處理      }      return pcsn;    }

需要知道,使用這個方法獲取 序列號是比較耗性能的,建議放在其他線程獲取

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓬莱市| 玉屏| 兴安盟| 朝阳县| 惠安县| 永福县| 麻城市| 静乐县| 龙里县| 兴安盟| 密山市| 常山县| 巧家县| 白沙| 辽阳县| 中阳县| 齐齐哈尔市| 安庆市| 宽城| 九寨沟县| 连城县| 罗甸县| 炉霍县| 台安县| 刚察县| 常德市| 华坪县| 滦南县| 青阳县| 中方县| 龙川县| 汶上县| 理塘县| 牙克石市| 阜南县| 北京市| 青冈县| 巴青县| 台南市| 大名县| 盐城市|