⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 精彩编程百例75~100 其中有媒体播放器 SQL语言编辑器 ADO方法连接多个数据库 用户密码验证系统 获取Man地址 信史服务 ping命令等待
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,nb30;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
     Function NBGetAdapterAddress(a:integer):String;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.NBGetAdapterAddress(a: integer): String;
Var
  NC:TNCB;
  ADAPTE : TADAPTERSTATUS;
  LANAENU : TLANAENUM;
  intId : Integer;
  cR : Char;
  strTem : String;

Begin

  Result := '';

  Try

    ZeroMemory(@NC, SizeOf(NC));

    NC.ncb_command:=Chr(NCBENUM);
    cR := NetBios(@NC);

    // Reissue enum command
    NC.ncb_buffer := @LANAENU;
    NC.ncb_length := SizeOf(LANAENU);
    cR := NetBios(@NC);
    If Ord(cR)<>0 Then
      exit;


    ZeroMemory(@NC, SizeOf(NC));
    NC.ncb_command := Chr(NCBRESET);
    NC.ncb_lana_num := LANAENU.lana[a];
    cR := NetBios(@NC);
    If Ord(cR)<>0 Then
      exit;


    ZeroMemory(@NC, SizeOf(NC));
    NC.ncb_command := Chr(NCBASTAT);
    NC.ncb_lana_num := LANAENU.lana[a];
    StrPCopy(NC.ncb_callname, '*');
    NC.ncb_buffer := @ADAPTE;
    NC.ncb_length := SizeOf(ADAPTE);
    cR := NetBios(@NC);
    strTem := '';
    For intId := 0 To 5 Do
      strTem := strTem+ InttoHex(Integer(ADAPTE.adapter_address[intId]),2);
    Result := strTem;
  Finally
  End;

end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
s:string;
begin
  for i:=1 to 20 do
  begin
  s:=NBGetAdapterAddress(i);
    if s='' then
    begin
    edit1.text:=''
    end
    else
    begin
    edit1.Text:='MAC地址为:'+s;
    exit;
    end;
  end;
  edit1.text:='您的机器没有安装网络适配器';
  end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -