📄 getmacfrm.pas
字号:
unit GetMacFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Nb30, NetBios;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label0: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
function GetMACAddress(LanaID:Integer;addr:PInteger):Integer;external 'utils.dll';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
MacAddress:Array[0..5] of Integer;
Address:PInteger;
begin
Address:=PInteger(@MacAddress);
if GetMACAddress(0,Address)=0 then
begin
Label0.Caption:=IntToStr(MacAddress[0]);
Label1.Caption:=IntToStr(MacAddress[1]);
Label2.Caption:=IntToStr(MacAddress[2]);
Label3.Caption:=IntToStr(MacAddress[3]);
Label4.Caption:=IntToStr(MacAddress[4]);
Label5.Caption:=IntToStr(MacAddress[5]);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Ncb:NCB;
URetCode:UCHAR;
NetName:Array[50] of char;
Adapter:ASTAT;
begin
memset(&ncb,0,sizeof(Ncb));
Ncb.ncb_command = NCBRESET;
Ncb.ncb_lana_num = LANAID;
uRetCode = Netbios( &Ncb );
memset( &Ncb, 0, sizeof (Ncb) );
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = LANAID;
strcpy( Ncb.ncb_callname, "* " );
Ncb.ncb_buffer = (char *) &Adapter;
Ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &Ncb );
if ( uRetCode == 0 )
begin
addr[0]= Adapter.adapt.adapter_address[0];
addr[1]= Adapter.adapt.adapter_address[1];
addr[2]= Adapter.adapt.adapter_address[2];
addr[3]= Adapter.adapt.adapter_address[3];
addr[4]= Adapter.adapt.adapter_address[4];
addr[5]= Adapter.adapt.adapter_address[5];
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -