原文:
幾種c#程式讀取mac位址的方法
以下是收集的幾種c#程式讀取mac位址的方法,示例中是讀取所有網絡卡的mac位址,如果僅需要讀取其中乙個,稍作修改即可。
//////
根據擷取ipconfig /all命令的輸出流獲取網絡卡mac
///
///
public
static
list
<
string
>
getmacbyipconfig()}
line
=reader.readline();}//
等待程式執行完退出程序
p.waitforexit();
p.close();
reader.close();
return
macs;}
1)該方法依賴wmi的系統服務,該服務一般不會被關閉;但如果系統服務缺失或者出現問題,該方法無法取得mac位址。
//////通過wmi讀取系統資訊裡的網絡卡mac
///
///
public
static
list
<
string
>
getmacbywmi()
}moc
=null
;mc
=null;}
catch
return
macs;}
1)如果當前的網絡卡是禁用狀態(硬體處於硬關閉狀態),取不到該網絡卡的mac位址,(您可以通過禁用網絡卡進行試驗)。
2)如果當前啟用了多個網絡卡,最先返回的位址是最近啟用的網路連線的資訊
//返回描述本地計算機上的網路介面的物件(網路介面也稱為網路介面卡)。
public
static
networkinte***ce netcardinfo()
//////
通過networkinte***ce讀取網絡卡mac
///
///
public
static
list
<
string
>
getmacbynetworkinte***ce()
return
macs;}
//////通過sendarp獲取網絡卡mac
///網路被禁用或未接入網路(如沒插網線)時此方法失靈
///
///
///
public
static
string
getmacbysendarp(
string
remoteip)
else-2
, 2) +
"-");
}x -=2
;}return
macaddress.tostring();
}catch
}[dllimport(
"iphlpapi.dll")]
private
static
extern
intsendarp(int32 dest, int32 host,
refint64 mac,
refint32 length);
[dllimport(
"ws2_32.dll")]
private
static
extern
int32 inet_addr(
string
ip);
常規使用者可通過讀取登錄檔項windows genuine advantage獲取到物理網絡卡位址。
1)如果登錄檔項被修改,則無法取得該mac位址
hkey_local_machine\software\microsoft\windows genuine advantage
C 讀取MAC位址方式
使用c 讀取計算機mac位址,如下為收集的集中方法。根據擷取ipconfig all命令的輸出流獲取網絡卡mac public static list string getmacbyipconfig line reader.readline 等待程式執行完退出程序 p.waitforexit p.c...
讀取網絡卡的MAC位址
在實際的應用系統中,我們往往會需要在程式執行時獲取當前機器的網絡卡的mac位址,以便作為某種標識之用,如控制程式的合法性等。下文介紹如何用microsoft visualc 6.0開發這樣的程式。這裡採用的方法是通過windows 9x nt win2000中內建的netapi32.dll的功能來實...
C 幾種讀mac的方法
幾種c 程式讀取mac位址的方法 以下是收集的幾種c 程式讀取mac位址的方法,示例中是讀取所有網絡卡的mac位址,如果僅需要讀取其中乙個,稍作修改即可。1 通過ipconfig命令讀取mac位址 根據擷取ipconfig all命令的輸出流獲取網絡卡mac publicstatic list ge...