D7版本的,斷網狀態下怎么獲取本地連接的以太網的物理地址MAC,
請注意不是活動網卡的MAC,因為有時是wifi連接有時是網線連接,
上述地址不同,而我要的是斷網下也能獲取的地址,以太網卡的地址。
謝謝路過和回帖的各位大神們!
uj5u.com熱心網友回復:
我們通常獲取網卡地址的方法,只能在網卡激活后,才能獲取。所以,硬體的機器碼,通常不能使用網卡的MAC。
未見到獲取PC上所有網卡MAC的代碼了。
uj5u.com熱心網友回復:
網卡不是全球唯一的嗎,怎么不可以做機器碼呢?
那請問樓上的老師,怎么才能獲取電腦的唯一識別碼呢?
我也不要全球唯一,只要不要重復的這么厲害就好了,
請問老師那個最適合做電腦唯一識別碼:硬碟的序列號?bios的序列號?
或者老師有其他更好的方法,最好有現成的代碼,3ks
uj5u.com熱心網友回復:
通過WMI獲取網卡MAC地址、硬碟序列號、主板序列號、CPU ID、BIOS序列號Delphi通過WMI獲取系統資訊
uses ActiveX, ComObj;
function GetWMIProperty(WMIType, WMIProperty: string): string;
var
Wmi, Objs, Obj: OleVariant;
Enum: IEnumVariant;
C: Cardinal;
begin
Wmi:= CreateOleObject('WbemScripting.SWbemLocator');
Objs := Wmi.ConnectServer('.','root/cimv2').ExecQuery('Select * from Win32_' + WMIType);
Enum := IEnumVariant(IUnknown(Objs._NewEnum));
Enum.Reset;
Enum.Next(1, Obj, C);
Obj := Obj.Properties_.Item(WMIProperty, 0).Value;
Result := Obj;
end;
// 獲取硬碟序列號
ShowMessage(GetWMIProperty('DiskDrive', 'PNPDeviceID'));
// 獲取BISO序列號
ShowMessage(GetWMIProperty('BIOS', 'SerialNumber'));
// 獲取網卡MAC地址
ShowMessage(GetWMIProperty('NetworkAdapter', 'MACAddress'));
// 獲取網卡序列號
ShowMessage(GetWMIProperty('NetworkAdapter', 'PNPDeviceID'));
// 獲取CPU序列號
ShowMessage(GetWMIProperty('Processor', 'ProcessorId'));
也可以用同樣的方法獲得任意感興趣的系統資訊,比如正在運行的行程、賬戶資訊等等。
更多WMI的資訊參考:
http://www.microsoft.com/whdc/system/pnppwr/wmi/default.mspx
http://msdn2.microsoft.com/en-us/library/aa394572.aspx
uj5u.com熱心網友回復:
在我的下載資源上有:http://download.csdn.net/detail/doloopcn/7990147看看對你有幫助沒有
uj5u.com熱心網友回復:
關于機器碼:1、我發現通常獲取的網卡地址,只能在網卡激活后,才能獲取。是否連網不一樣。所以,這樣的網卡地網,是不能作為機器碼的。
2、硬碟的ID,在時也為空。
3、我的通告辦法,采取BIOS、硬碟、CPU等資料,偶合起來構成機器碼。
4、有時,也采用網卡地址,進行加密加密處理。
比較好的辦法,U盤加密狗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/53698.html
標籤:語言基礎/算法/系統設計
上一篇:關于一維碼 Code39的疑問
