DELPHI获取网卡MAC地址

上传人:桔**** 文档编号:498867725 上传时间:2023-09-21 格式:DOC 页数:12 大小:43.50KB
返回 下载 相关 举报
DELPHI获取网卡MAC地址_第1页
第1页 / 共12页
DELPHI获取网卡MAC地址_第2页
第2页 / 共12页
DELPHI获取网卡MAC地址_第3页
第3页 / 共12页
DELPHI获取网卡MAC地址_第4页
第4页 / 共12页
DELPHI获取网卡MAC地址_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《DELPHI获取网卡MAC地址》由会员分享,可在线阅读,更多相关《DELPHI获取网卡MAC地址(12页珍藏版)》请在金锄头文库上搜索。

1、DELPHI获取网卡MAC地址1、通过IP取MAC地址usesWinSock;Functionsendarp(ipaddr:ulong;temp:dword;ulmacaddr:pointer;ulmacaddrleng:pointer):DWord;StdCall;ExternalIphlpapi.dllNameSendARP;procedureTForm1.Button1Click(Sender:TObject);varmyip:ulong;mymac:array0.5ofbyte;mymaclength:ulong;r:integer;beginmyip:=inet_addr(PChar

2、(192.168.6.180);mymaclength:=length(mymac);r:=sendarp(myip,0,mymac,mymaclength);label1.caption:=errorcode:+inttostr(r);label2.caption:=format(%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x,mymac0,mymac1,mymac2,mymac3,mymac4,mymac5);end;2、取MAC地址(含多网卡),最好的方法,支持Vista,Win7unitUnit1;interfaceusesWindows,Messages,Sy

3、sUtils,Variants,Classes,Graphics,Controls,Forms,WinSock,StdCtrls;ConstMAX_HOSTNAME_LEN=128;fromIPTYPES.HMAX_DOMAIN_NAME_LEN=128;MAX_SCOPE_ID_LEN=256;MAX_ADAPTER_NAME_LENGTH=256;MAX_ADAPTER_DESCRIPTION_LENGTH=128;MAX_ADAPTER_ADDRESS_LENGTH=8;TypeTIPAddressString=Array0.4*4-1ofChar;PIPAddrString=人TIPA

4、ddrString;TIPAddrString=RecordNext:PIPAddrString;IPAddress:TIPAddressString;IPMask:TIPAddressString;Context:Integer;End;PFixedlnfo=人TFixedlnfo;TFixedInfo=RecordFIXED_INFOHostName:Array0.MAX_HOSTNAME_LEN+3ofChar;DomainName:Array0.MAX_DOMAIN_NAME_LEN+3ofChar;CurrentDNSServer:PIPAddrString;DNSServerLis

5、t:TIPAddrString;NodeType:Integer;ScopeId:Array0.MAX_SCOPE_ID_LEN+3ofChar;EnableRouting:Integer;EnableProxy:Integer;EnableDNS:Integer;End;PIPAdapterlnfo=人TIPAdapterlnfo;TIPAdapterInfo=RecordIP_ADAPTER_INFONext:PIPAdapterInfo;ComboIndex:Integer;AdapterName:Array0.MAX_ADAPTER_NAME_LENGTH+3ofChar;Descri

6、ption:Array0.MAX_ADAPTER_DESCRIPTION_LENGTH+3ofChar;AddressLength:Integer;Address:Array1.MAX_ADAPTER_ADDRESS_LENGTHofByte;Index:Integer;_Type:Integer;DHCPEnabled:Integer;CurrentIPAddress:PIPAddrString;IPAddressList:TIPAddrString;GatewayList:TIPAddrString;DHCPServer:TIPAddrString;HaveWINS:Bool;Primar

7、yWINSServer:TIPAddrString;SecondaryWINSServer:TIPAddrString;LeaseObtained:Integer;LeaseExpires:Integer;End;typeTForm1=class(TForm)Button1:TButton;Memo1:TMemo;procedureButton1Click(Sender:TObject);privatePrivatedeclarationsprocedureGetAdapterInformation;publicPublicdeclarationsend;varForm1:TForm1;Fun

8、ctionsendarp(ipaddr:ulong;temp:dword;ulmacaddr:pointer;ulmacaddrleng:pointer):DWord;StdCall;implementation$R*.dfmFunctionsendarp;ExternalIphlpapi.dllNameSendARP;FunctionGetAdaptersInfo(AI:PIPAdapterInfo;VarBufLen:Integer):Integer;StdCall;Externaliphlpapi.dllNameGetAdaptersInfo;procedureTForm1.GetAda

9、pterInformation;VarAI,Work:PIPAdapterInfo;Size:Integer;Res:Integer;I:Integer;FunctionMACToStr(ByteArr:PByte;Len:Integer):String;BeginResult:=;While(Len0)doBeginResult:=Result+IntToHex(ByteArr人,2)+-;ByteArr:=Pointer(Integer(ByteArr)+SizeOf(Byte);Dec(Len);End;SetLength(Result,Length(Result)-1);removel

10、astdashEnd;FunctionGetAddrString(Addr:PIPAddrString):String;BeginResult:=;While(Addrnil)doBeginResult:=Result+A:+Addr人.IPAddress+M:+Addr人.IPMask+#13;Addr:=Addr人.Next;End;End;FunctionTimeTToDateTimeStr(TimeT:Integer):String;ConstUnixDateDelta=25569;daysbetween12/31/1899and1/1/1970VarDT:TDateTime;TZ:T

11、TimeZoneInformation;Res:DWord;BeginIf(TimeT=0)ThenResult:=ElseBeginUnixTIME_Tissecssince1/1/1970DT:=UnixDateDelta+(TimeT/(24*60*60);inUTCcalculatebiasRes:=GetTimeZoneInformation(TZ);If(Res=TIME_ZONE_ID_INVALID)ThenRaiseLastWin32Error;If(Res=TIME_ZONE_ID_STANDARD)ThenBeginDT:=DT-(TZ.Bias+TZ.StandardB

12、ias)/(24*60);Result:=DateTimeToStr(DT)+WideCharToString(TZ.StandardName);EndElseBegindaylightsavingtimeDT:=DT-(TZ.Bias+TZ.DaylightBias)/(24*60);Result:=DateTimeToStr(DT)+WideCharToString(TZ.DaylightName);End;End;End;beginMemo1.Lines.Clear;Size:=5120;GetMem(AI,Size);Res:=GetAdaptersInfo(AI,Size);If(R

13、esERROR_SUCCESS)ThenBeginSetLastError(Res);RaiseLastWin32Error;End;WithMemo1,LinesdoBeginWork:=AI;I:=1;RepeatAdd();Add(Adapter+IntToStr(I);Add(Combolndex:+1ntToStr(Work人.Combolndex);Add(Adaptername:+Work人.AdapterName);Add(Description:+Work人.Description);Add(Adapteraddress:+MACToStr(Work人.Address,Wor

14、k人.AddressLength);Add(Index:+IntToStr(Work人.1ndex);Add(Type:+IntToStr(Work人._Type);Add(DHCP:+IntToStr(Work人.DHCPEnabled);Add(CurrentIP:+GetAddrString(Work人.CurrentIPAddress);Add(IPaddresses:+GetAddrString(Work人.IPAddressList);Add(Gateways:+GetAddrString(Work人.GatewayList);Add(DHCPservers:+GetAddrString(Work人.DHCPServer);Add(HasWINS:+IntToStr(Integer(Work人.HaveWINS);Add(PrimaryWINS:+GetAddrString(Work人.PrimaryWINSServer);Add(SecondaryWINS:+GetAddrString(Work人.SecondaryWINSServer);Add(Leaseobtained:+TimeTToDateTimeStr(Work人LeaseObtained);Add(Leaseexpires:+TimeTToDateTimeStr(Work

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号