怎样才能不通过WIN API可以获得网卡序号?例如能不能在Delphi中直接用汇编读取?无论高手还是低手,能者便是好手,望好手不吝赐教! 高分捧上!

解决方案 »

  1.   

    有谁能在Delphi中直接用汇编读取网卡序号的方法?
      

  2.   

    有谁能在Delphi中直接用汇编读取网卡MAC地址?
      

  3.   

    查询注册表也要用API呀!
    估计不可能!
    直接用汇编读写硬件,Windows是不会允许的不用NetBIOS API的方法也许有!
      

  4.   

    function LanCardID: string;
    //获取网卡物理地址
    var guid: TGUID;
        i: integer;
    begin
       result := ';
       CoCreateGUID(guid);
       for i := Low(guid.D4)+2 to High(guid.D4) do
       begin
          result := result + IntToHex(guid.D4[i],2);
       end;
    end;
      

  5.   

    网卡的MAC 
     
    //加入nb30.pas单元 
     
    var
      LanaNum: Byte;
      MACAddress: PMACAddress;
      RetCode: Byte; 
    begin
      LanaNum := StrToInt(ComboBox1.Text);
      New(MACAddress);
      try
        RetCode := GetMACAddress(LanaNum, MACAddress);
        if RetCode = NRC_GOODRET then
        begin
          Edit1.Text := Format('%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%.2x', MACAddress[0], MACAddress[1], MACAddress[2], MACAddress[3], MACAddress[4], MACAddress[5]]);
        end else
        begin
          Beep;
          Edit1.Text := 'Error';
          ShowMessage('GetMACAddress Error! RetCode = $' + IntToHex(RetCode, 2));
        end;
      finally
        Dispose(MACAddress);
      end;