IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Delphi (https://www.ircforumlari.net/delphi/)
-   -   mac adresi okuma (https://www.ircforumlari.net/delphi/689510-mac-adresi-okuma.html)

Kaf_Dağı 18 Mart 2015 14:14

mac adresi okuma
 
Kod:

function TRamazan.GetMACAdress: string;
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 16
  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 <> '00-00-00-00-00-00');
 FreeMem(NCB);
 FreeMem(Adapter);
 FreeMem(Lenum);
 GetMacAdress := _SystemID;
end;
 
function TRamazan.HarddiskNo: String;
var
 VolumeSerialNumber : DWORD;
 MaximumComponentLength : DWORD;
 FileSystemFlags : DWORD;
 SerialNumber : string;
begin
 GetVolumeInformation('C:',
                  nil,
                  0,
                  @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]SerialNumber,
                  MaximumComponentLength,
                  FileSystemFlags,
                  nil,
                  0);
 SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' +
              IntToHex(LoWord(VolumeSerialNumber), 4);
Result:=SerialNumber;
end;



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:07.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net