皮皮网

【易语言自带源码】【jsp会务管理源码】【pms系统 源码下载】callrecord源码

2024-11-20 21:31:02 来源:小刘谈源码

1.delphi获取MAC地址代码

callrecord源码

delphi获取MAC地址代码

       å¯ä»¥ç”¨ä»¥ä¸‹å‡½æ•°:

       uses NB;

       function GetMACAdress: string; //uses NB;

       var

       NCB: PNCB;

       Adapter: PAdapterStatus;

       URetCode: PChar;

       RetCode: char;

       I: integer;

       Lenum: PlanaEnum;

       _SystemID: string;

       TMPSTR: string;

       begin

       Result := '';

       _SystemID := '';

       Getmem(NCB,源码易语言自带源码 SizeOf(TNCB));

       Fillchar(NCB^, SizeOf(TNCB), 0);

       Getmem(Lenum, SizeOf(TLanaEnum));

       Fillchar(Lenum^, SizeOf(TLanaEnum), 0);

       Getmem(Adapter, SizeOf(TAdapterStatus));

       Fillchar(Adapter^, SizeOf(TAdapterStatus), 0);

       Lenum.Length := chr(0);

       NCB.ncb_command := chr(NCBENUM);

       NCB.ncb_buffer := Pointer(Lenum);

       NCB.ncb_length := SizeOf(Lenum);

       RetCode := Netbios(NCB);

       i := 0;

       repeat

       Fillchar(NCB^, SizeOf(TNCB), 0);

       Ncb.ncb_command := chr(NCBRESET);

       Ncb.ncb_lana_num := lenum.lana[I];

       RetCode := Netbios(Ncb);

       Fillchar(NCB^, SizeOf(TNCB), 0);

       Ncb.ncb_command := chr(NCBASTAT);

       Ncb.ncb_lana_num := lenum.lana[I];

       // Must be

       Ncb.ncb_callname := ('*');

       Ncb.ncb_buffer := Pointer(Adapter);

       Ncb.ncb_length := SizeOf(TAdapterStatus);

       RetCode := Netbios(Ncb);

       //---- calc _systemId from mac-address[2-5] XOR mac-address[1]...

       if (RetCode = chr(0)) or (RetCode = chr(6)) then

       begin

       _SystemId := IntToHex(Ord(Adapter.adapter_address[0]), 2) + '-' +

       IntToHex(Ord(Adapter.adapter_address[1]), 2) + '-' +

       IntToHex(Ord(Adapter.adapter_address[2]), 2) + '-' +

       IntToHex(Ord(Adapter.adapter_address[3]), 2) + '-' +

       IntToHex(Ord(Adapter.adapter_address[4]), 2) + '-' +

       IntToHex(Ord(Adapter.adapter_address[5]), 2);

       end;

       Inc(i);

       until (I >= Ord(Lenum.Length)) or (_SystemID <> '-----');

       FreeMem(NCB);

       FreeMem(Adapter);

       FreeMem(Lenum);

       GetMacAdress := _SystemID;

       end;

       procedure TForm1.Button1Click(Sender: TObject);

       var

        wxymac : String;

       begin

        wxymac:=GetMACAdress;

       end;