📄 netcardaddr.pas
字号:
uses IPHlpAPI,IPTypes,IPIfConst;
function GetDiskSerialNo(Disk: Char): string;
var
dwTemp1,dwTemp2,I: DWord;
begin
GetVolumeInformation(PChar(Disk + ':\'), nil, 0,
@I, dwTemp2,dwTemp2,nil,0);
Result := IntToHex(I,4);
end;
function GetNetCardMac: string;
var
Info: PIP_ADAPTER_INFO;
Len: DWOrd;
P: Pointer;
E: Integer;
begin
Result := '';
Len := 0;
if GetAdaptersInfo(nil, Len) <> ERROR_BUFFER_OVERFLOW then Exit;
GetMem(Info,Len);
try
E := GetAdaptersInfo(Info,Len);
if E <> NO_ERROR then
raise Exception.Create(SysErrorMessage(E));
//Info.Index
P := Info;
if P <> nil then
Result := MacAddr2Str(IP_ADAPTER_INFO(P^).Address,IP_ADAPTER_INFO(P^).AddressLength);
finally
FreeMem(Info);
end;
end;
function GetAllNetCardMac: string;
var
Info: PIP_ADAPTER_INFO;
Len: DWOrd;
P: Pointer;
E: Integer;
Macs: TStrings;
begin
Result := '';
Len := 0;
if GetAdaptersInfo(nil, Len) <> ERROR_BUFFER_OVERFLOW then Exit;
GetMem(Info,Len);
Macs := TStringList.Create;
try
E := GetAdaptersInfo(Info,Len);
if E <> NO_ERROR then
raise Exception.Create(SysErrorMessage(E));
P := Info;
while P <> nil do
begin
Macs.Add(MacAddr2Str(IP_ADAPTER_INFO(P^).Address,IP_ADAPTER_INFO(P^).AddressLength));
P := IP_ADAPTER_INFO(P^).Next;
end;
TStringList(Macs).Sort;
Result := Macs.CommaText;
finally
FreeMem(Info);
Macs.Free;
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -