1;function GetNetBIOSAddress : string;
var  ncb  : TNCB;
  status  : TAdapterStatus;
  lanenum : TLanaEnum;  procedure ResetAdapter (num : char);
  begin
    fillchar(ncb,sizeof(ncb),0);
    ncb.ncb_command:=char(NCBRESET);
    ncb.ncb_lana_num:=num;
    Netbios(@ncb);
  end;var
  lanNum  : char;
  address : record
             part1 : Longint;
             part2 : Word;//Smallint;
            end absolute status;
begin
  Result:='';  fillchar(ncb,sizeof(ncb),0);
    ncb.ncb_command:=char(NCBENUM);
    ncb.ncb_buffer:=@lanenum;
    ncb.ncb_length:=sizeof(lanenum);
  Netbios(@ncb);  if lanenum.length=#0 then exit;
  lanNum:=lanenum.lana[0];  ResetAdapter(lanNum);  fillchar(ncb,sizeof(ncb),0);
    ncb.ncb_command:=char(NCBASTAT);
    ncb.ncb_lana_num:=lanNum;
    ncb.ncb_callname[0]:='*';
    ncb.ncb_buffer:=@status;
    ncb.ncb_length:=sizeof(status);
  Netbios(@ncb);
  ResetAdapter(lanNum);  Result:=Format('%x%x',[address.part1,address.part2]);
end;2:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then
    ShowMessage('Machine is attached to network') else
    ShowMessage('Machine is not attached to network');
end;
第一个函数不是我写的,我测试后没有问题