讀取網絡卡的MAC位址

2021-06-01 01:34:12 字數 763 閱讀 4510

在實際的應用系統中,我們往往會需要在程式執行時獲取當前機器的網絡卡的mac位址,以便作為某種標識之用,如控制程式的合法性等。下文介紹如何用microsoft visualc++ 6.0開發這樣的程式。

這裡採用的方法是通過windows 9x/nt/win2000中內建的netapi32.dll的功能來實現的。首先通過傳送ncbenum命令,獲取網絡卡的數目和每張網絡卡的內部編號,然後對每個網絡卡標號傳送ncbastat命令獲取其mac位址。注意:這裡的網絡卡是指**了netbeiu協議的通訊協議棧,可以在網絡卡的屬性處檢視到。

請執行vc++,開啟乙個新的工程,選擇建立乙個win32 console程式,然後按下文輸入**,並請參見其中的注釋:

#include "stdafx.h"

#include #include #include #include #include // 因為是通過netapi來獲取網絡卡資訊,所以需要包含其題標頭檔案nb30.h

#include typedef struct _astat_

astat, * pastat;

astat adapter;

// 定義乙個存放返回網絡卡資訊的變數

// 輸入引數:lana_num為網絡卡編號,一般地,從0開始,但在windows 2000中並不一定是連續分配的

void getmac_one (int lana_num)

}int main(int argc, char* argv)

return 0;

}

獲取網絡卡MAC位址

做網路程式設計的程式設計師免不了要與mac位址打交道,這個128bit的數字串在某種程度上就代表了機器的唯一性,因此在做統計工作時一般都以mac位址作為標準。下面介紹兩種獲取本機mac位址的方式。1.通過請求netbios服務獲取mac位址 2.通過iphelpapi獲取。第一種方法要求本機開啟了n...

修改網絡卡MAC位址

win2000修改方法 1 在hkey local machine system currentcontrolset control class 0000 0001 0002等主鍵下,查 找driverdesc內容為你要修改的網絡卡的描述的,如0000。下面的方法和rifter 修改mac位址的範例...

如何用VC 開發讀取網絡卡MAC位址的程式

如何用vc 開發讀取網絡卡mac位址的程式 實際的應用系統中,我們往往會需要在程式執行時獲取當前機器的網絡卡的mac位址,以便作為某種標識之用,如控制程式的合法性等。下文就如何用microsoft visual c 6.0開發這樣的程式演示如何實現其要點。這裡採用的方法是通過 windows 9x ...