下面的函數(shù)以\’XX-XX-XX-XX-XX-XX\’ 的格式返回遠(yuǎn)程或本地機(jī)器的MAC地址。
Function to return the MAC address of a remote or local machine in the format \’XX-XX-XX-XX-XX-XX\’
返回的MAC地址是一個(gè)能用在多個(gè)方面的標(biāo)識(shí)。使用方法:
ShowMessage(GetMacAddress(\’\\\\MHEYDON\’);
輸出\’00-02-08-E7-99-6B\’
// ======================================================================
//返回值是主機(jī)AServerName的MAC地址
//AServerName參數(shù)的格式為\’\\\\ServerName\’ 或者 \’ServerName\’
//參數(shù)ServerName為空時(shí)返回本機(jī)的MAC地址
//MAC地址以\’XX-XX-XX-XX-XX-XX\’的格式返回
// ======================================================================
function GetMacAddress(const AServerName : string) : string;
type
TNetTransportEnum = function(pszServer : PWideChar;
Level : DWORD;
var pbBuffer : pointer;
PrefMaxLen : LongInt;
var EntriesRead : DWORD;
var TotalEntries : DWORD;
var ResumeHandle : DWORD) : DWORD; stdcall;
TNetApiBufferFree = function(Buffer : pointer) : DWORD; stdcall;
PTransportInfo = ^TTransportInfo;
TTransportInfo = record
quality_of_service : DWORD;
number_of_vcs : DWORD;
transport_name : PWChar;
transport_address : PWChar;
wan_ish : boolean;
end;
var E,ResumeHandle,
EntriesRead,
TotalEntries : DWORD;
FLibHandle : THandle;
sMachineName,
sMacAddr,
Retvar : string;
pBuffer : pointer;
pInfo : PTransportInfo;
FNetTransportEnum : TNetTransportEnum;
FNetApiBufferFree : TNetApiBufferFree;
pszServer : array[0..128] of WideChar;
i,ii,iIdx : integer
Function to return the MAC address of a remote or local machine in the format \’XX-XX-XX-XX-XX-XX\’
返回的MAC地址是一個(gè)能用在多個(gè)方面的標(biāo)識(shí)。使用方法:
ShowMessage(GetMacAddress(\’\\\\MHEYDON\’);
輸出\’00-02-08-E7-99-6B\’
// ======================================================================
//返回值是主機(jī)AServerName的MAC地址
//AServerName參數(shù)的格式為\’\\\\ServerName\’ 或者 \’ServerName\’
//參數(shù)ServerName為空時(shí)返回本機(jī)的MAC地址
//MAC地址以\’XX-XX-XX-XX-XX-XX\’的格式返回
// ======================================================================
function GetMacAddress(const AServerName : string) : string;
type
TNetTransportEnum = function(pszServer : PWideChar;
Level : DWORD;
var pbBuffer : pointer;
PrefMaxLen : LongInt;
var EntriesRead : DWORD;
var TotalEntries : DWORD;
var ResumeHandle : DWORD) : DWORD; stdcall;
TNetApiBufferFree = function(Buffer : pointer) : DWORD; stdcall;
PTransportInfo = ^TTransportInfo;
TTransportInfo = record
quality_of_service : DWORD;
number_of_vcs : DWORD;
transport_name : PWChar;
transport_address : PWChar;
wan_ish : boolean;
end;
var E,ResumeHandle,
EntriesRead,
TotalEntries : DWORD;
FLibHandle : THandle;
sMachineName,
sMacAddr,
Retvar : string;
pBuffer : pointer;
pInfo : PTransportInfo;
FNetTransportEnum : TNetTransportEnum;
FNetApiBufferFree : TNetApiBufferFree;
pszServer : array[0..128] of WideChar;
i,ii,iIdx : integer

