激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C# 獲取 PC 序列號的方法示例

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

2022-02-27 15:47林德熙 C#

這篇文章主要介紹了C# 獲取 PC 序列號的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

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

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

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

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

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

?
1
2
3
4
5
6
7
8
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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/// <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;
}

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

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

原文鏈接:https://lindexi.gitee.io/lindexi/post/C-%E8%8E%B7%E5%8F%96-PC-%E5%BA%8F%E5%88%97%E5%8F%B7.html

延伸 · 閱讀

精彩推薦
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
主站蜘蛛池模板: ,欧美特黄特色三级视频在线观看 | 久草在线资源观看 | 久久96国产精品久久久 | 亚洲午夜天堂吃瓜在线 | 国内精品久久久久久久影视红豆 | 免费视频爱爱太爽了 | 色淫视频| 欧美一级高潮片免费的 | 免费观看一级黄色片 | 日本中文一级片 | 日韩在线播放中文字幕 | 国产大片在线观看 | 精选久久 | 午夜视频在线观看91 | 天天色综合2 | 性猛aa久久久| 黄色久 | 成人黄色小视频在线观看 | 亚洲精品成人久久久 | 91高清完整版 | 免费观看一级黄色片 | xxxxhdvideosex| 九九热免费精品 | 欧美一级片一区 | 日韩黄色片免费看 | 毛片视频网址 | 久久久久久久久久久av | 精品国产一区二区三区久久久蜜 | 亚洲视频综合网 | 国产毛片毛片毛片 | 欧美日韩免费观看视频 | 欧美亚洲国产一区二区三区 | 国产午夜精品久久久久 | 久久精品探花 | 黄色片免费在线 | 国产一级大片在线观看 | 成人资源在线 | 精品一区二区三区中文字幕 | 亚洲精品 欧美 | 性欧美视频在线观看 | 亚洲国产高清自拍 |