📄 unit1.~pas
字号:
//加入nb3.pas单元
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,nb30;
type
TfrmMain = class(TForm)
GroupBox1: TGroupBox;
Memo1: TMemo;
GroupBox2: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
GroupBox3: TGroupBox;
btnRun: TButton;
btnExit: TButton;
procedure btnRunClick(Sender: TObject);
Function NBGetAdapterAddress(adapterNum:integer):String;
procedure FormCreate(Sender: TObject);
procedure btnExitClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.DFM}
procedure TfrmMain.btnRunClick(Sender: TObject);
begin
memo1.lines.add('您的第'+edit1.text+'个适配器的MAC地址为'+NBGetAdapterAddress(StrtoInt(Edit1.Text)));
end;
function TfrmMain.NBGetAdapterAddress(adapterNum: integer): String;
//adapter00为指定的网卡适配器
Var
NCB:TNCB; // NetBios控制块
ADAPTER : TADAPTERSTATUS; // 获取网卡状态
LANAENUM : TLANAENUM; // Netbios lana
intIdx : Integer; // 临时变量
cRC : Char; // NetBios返回值
strTemp : String; // 临时变量
Begin
Result := '';
Try
// 清空控制块
ZeroMemory(@NCB, SizeOf(NCB));
NCB.ncb_command:=Chr(NCBENUM);
cRC := NetBios(@NCB);
// 重新设置enum命令
NCB.ncb_buffer := @LANAENUM;
NCB.ncb_length := SizeOf(LANAENUM);
cRC := NetBios(@NCB);
If Ord(cRC)<>0 Then
exit;
// 重新设定网卡
ZeroMemory(@NCB, SizeOf(NCB));
NCB.ncb_command := Chr(NCBRESET);
NCB.ncb_lana_num := LANAENUM.lana[adapterNum];
cRC := NetBios(@NCB);
If Ord(cRC)<>0 Then
exit;
// 获取网卡地址
ZeroMemory(@NCB, SizeOf(NCB));
NCB.ncb_command := Chr(NCBASTAT);
NCB.ncb_lana_num := LANAENUM.lana[adapterNum];
StrPCopy(NCB.ncb_callname, '*');
NCB.ncb_buffer := @ADAPTER;
NCB.ncb_length := SizeOf(ADAPTER);
cRC := NetBios(@NCB);
// 将获得信息转换为字符串
strTemp := '';
For intIdx := 0 To 5 Do
strTemp := strTemp + InttoHex(Integer(ADAPTER.adapter_address[intIdx]),2);
Result := strTemp;
Finally
End;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
memo1.lines.Clear;
end;
procedure TfrmMain.btnExitClick(Sender: TObject);
begin
frmMain.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -