C 獲取 PC 序列號

2022-01-14 16:02:12 字數 1153 閱讀 5440

在 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 =

newmanagementobjectsearcher

("select * from win32_bios");

var mobos = search.

get();

foreach

(var temp in mobos)

這樣就可以拿到序列號,但是可能有些裝置是沒有序列號,很多時候是返回下面**

to be filled by o.e.m

to be filled by o.e.m.

default

default

string

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

/// 

/// 獲得pc號

///

public

static

string

getpcsnstring()

else}}

catch

(exception e)

return pcsn;

}

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

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

在 c 需要使用 getsystemfirmwaretable 的方法來獲得 pc 的序列號,需要寫的 很多,但是在 c 可以使用 wmi 來拿到序列號 首先是安裝 system.management 安裝了這個庫,在 dotnet framework 和 dotnet core 都可以使用本文的方...

獲取硬碟序列號(VC)

說明 經過上百臺計算機測試,ide和sata硬碟可以獲取序列號 scsi硬碟沒有測試環境,無法測試成功與否。請有條件的朋友幫忙測試下,給個訊息,謝謝。虛擬機器上測試不了,不用測試了。ide測試出來全部是0000等數字。網路流傳的版本不少,下下來測試修改了下。include include inclu...

獲取硬碟物理序列號

獲取硬碟物理序列號 最近才做完了這個獲取 ide 硬碟物理序列號的程式。宣告一下,這個程式是我根據 lynn mcguire 的那個 diskid32 的源 做了些自以為是的改動得到的,只能在 nt 平台下獲得第一塊 ide 硬碟的物理序列號。同時,這個程式用到了不少未公開的 windows 的結構...