重要DELPHI写一个程序
来获取网卡NAC,主版序列号,硬盘序列号

解决方案 »

  1.   

    网卡MAC,写错了,不好意思
      

  2.   

    方法:点击论坛右上角的搜索页面。然后输入MAC地址,单击搜索按钮.......然后返回搜索页面,输入输入硬盘序列号,单击搜索按钮..........again................again................自己动手,丰衣足食啊........
      

  3.   

    取网卡MACfunction GetMacAddresses(const Machine: string; const Addresses: TStrings): Integer; 
    varNCB: TNCB;Enum: TLanaEnum;I, L, NameLen: Integer;Adapter: ASTAT;MachineName: string;beginResult := -1;Addresses.Clear;MachineName := UpperCase(Machine);if MachineName = '' thenMachineName := '*';NameLen := Length(MachineName);L := NCBNAMSZ - NameLen;if L > 0 thenbeginSetLength(MachineName, NCBNAMSZ);FillChar(MachineName[NameLen + 1], L, ' ');end;FillChar(NCB, SizeOf(NCB), #0);NCB.ncb_command := NCBENUM;NCB.ncb_buffer := Pointer(@Enum);NCB.ncb_length := SizeOf(Enum);if NetBios(@NCB) = NRC_GOODRET thenbeginResult := Enum.Length;for I := 0 to Ord(Enum.Length) - 1 dobeginFillChar(NCB, SizeOf(NCB), #0);NCB.ncb_command := NCBRESET;NCB.ncb_lana_num := Enum.lana[I];if NetBios(@NCB) = NRC_GOODRET thenbeginFillChar(NCB, SizeOf(NCB), #0);NCB.ncb_command := NCBASTAT;NCB.ncb_lana_num := Enum.lana[I];Move(MachineName[1], NCB.ncb_callname, SizeOf(NCB.ncb_callname));NCB.ncb_buffer := PChar(@Adapter);NCB.ncb_length := SizeOf(Adapter);if NetBios(@NCB) = NRC_GOODRET thenAddresses.Add(AdapterToString(Adapter.adapt));end;end;end;end;************************//获取网卡地址,使用netbios 3.0调用 uses nb30.pas shipped with delphi 4.0function _NetCardAddress : String ;varNCB : TNCB ; // Netbios control blockADAPTER : TADAPTERSTATUS ; // Netbios adapter statusLANAENUM : TLANAENUM ; // Netbios lanaintIdx : Integer ; // Temporary work valueCRC : Char ; // Netbios return codestrTemp : String ; // Temporary stringbeginResult := '' ;tryZeroMemory(@NCB,SizeOf(NCB)) ; // Zero control bloclNCB.ncb_command := Chr(NCBENUM) ; // Issue enum commandcRC := NetBios(@NCB) ;if Ord(cRC)>0 then beginresult:=_NBReturnMSG(crc);exit ;end;  NCB.ncb_buffer := @LANAENUM ; // Reissue enum commandNCB.ncb_length := SizeOf(LANAENUM);cRC := NetBios(@NCB) ;if Ord(cRC)>0 then beginresult:=_NBReturnMSG(crc);exit ;end;ZeroMemory(@NCB,SizeOf(NCB)) ; // Reset adapterNCB.ncb_command := Chr(NCBRESET) ;NCB.ncb_lana_num := LANAENUM.lana[0] ;cRC := NetBios(@NCB) ;if Ord(cRC)>0 then beginresult:=_NBReturnMSG(crc);exit ;end;ZeroMemory(@NCB,SizeOf(NCB)) ; // Get adapter addressNCB.ncb_command := Chr(NCBASTAT) ;NCB.ncb_lana_num := LANAENUM.lana[0] ;StrPCopy(NCB.ncb_callname,'*') ;NCB.ncb_buffer := @ADAPTER ;NCB.ncb_length := SizeOf(ADAPTER) ;cRC := NetBios(@NCB) ;if Ord(cRC)>0 then beginresult:=_NBReturnMSG(crc);exit ;end; // Convert Netcard address it to stringstrTemp := '' ;for intIdx := 0 to 5 do strTemp := strTemp + _Char2Hex(ADAPTER.adapter_address[intIdx]) ;Result := strTemp ;finallyend ;end ;
      

  4.   

    在 USE里面调用了那些东西