請教各位大俠,如何像vc中的sendarp()函數,輸入連到電腦上的網管或路由器的ip就可以返回mac值?謝謝!

解决方案 »

  1.   

    自己声明sendarp
    http://www.delphifans.com/infoview/Article_520.html uses
    WinSock;Function sendarp(ipaddr:ulong;
    temp:dword;
    ulmacaddr:pointer;
    ulmacaddrleng:pointer) : DWord; StdCall; External 'Iphlpapi.dll' Name 'SendARP';procedure TForm1.Button1Click(Sender: TObject);
    var
    myip:ulong;
    mymac:array[0..5] of byte;
    mymaclength:ulong;
    r:integer;
    begin
    myip:=inet_addr(PChar('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',[mymac[0],mymac[1],mymac[2],mymac[3],mymac[4],mymac[5]]);
    end;