各位,请问如何获取网卡的MAC地址。最好给段代码。

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1780/1780241.xml?temp=.7161219来自超级猛料
      

  2.   

    如何取的網卡的MAC號
    簡介:
    function TForm1.NBGetAdapterAddress(a: integer): String;
    //a指定多個網卡適配器中的哪一個0,1,2...
    Var
    NCB:TNCB; // Netbios control block file://NetBios控制塊
    ADAPTER : TADAPTERSTATUS; // Netbios adapter status//取網卡狀態
    LANAENUM : TLANAENUM; // Netbios lana
    intIdx : Integer; // Temporary work value//臨時變數
    cRC : Char; // Netbios return code//NetBios返回值
    strTemp : String; // Temporary string//臨時變數Begin
    // Initialize
    Result := '';
    Try
    // Zero control blocl
    ZeroMemory(@NCB, SizeOf(NCB));
    // Issue enum command
    NCB.ncb_command:=Chr(NCBENUM);
    cRC := NetBios(@NCB);
    // Reissue enum command
    NCB.ncb_buffer := @LANAENUM;
    NCB.ncb_length := SizeOf(LANAENUM);
    cRC := NetBios(@NCB);
    If Ord(cRC)0 Then
    exit;
    // Reset adapter
    ZeroMemory(@NCB, SizeOf(NCB));
    NCB.ncb_command := Chr(NCBRESET);
    NCB.ncb_lana_num := LANAENUM.lana[a];
    cRC := NetBios(@NCB);
    If Ord(cRC)0 Then
    exit;
    // Get adapter address
    ZeroMemory(@NCB, SizeOf(NCB));
    NCB.ncb_command := Chr(NCBASTAT);
    NCB.ncb_lana_num := LANAENUM.lana[a];
    StrPCopy(NCB.ncb_callname, '*');
    NCB.ncb_buffer := @ADAPTER;
    NCB.ncb_length := SizeOf(ADAPTER);
    cRC := NetBios(@NCB);
    // Convert it to string
    strTemp := '';
    For intIdx := 0 To 5 Do
    strTemp := strTemp + InttoHex(Integer(ADAPTER.adapter_address[intIdx]),2);
    Result := strTemp;
    Finally
    End;最後別忘了uses nb30.pas
    經測試,98,2000下皆可用
    發表人 - ddy 於 2002/11/23 23:57:24
      

  3.   

    WINEXEC(PCHAR('CMD /C  IPCONFIG /ALL > C:\TEMP.TXT'),SW_HIDE);