怎样获得网卡Mac地址? 且全球的网卡Mac地址是否唯一? 请些出必要的代码,谢谢.
解决方案 »
- delphi+ACCESS 问题
- 维护别人的项目,编译时候说缺少ZipCOM_TLB.dcu。 对delphi不太熟悉。 项目文档里有个zipcom.dll,我已经用regsvr32注册成功
- 问个小问题
- 十万火急 ! Qreport 打印问题
- delphi+Access跨库追加数据怎么写?
- imageEn中两个图片的叠加,上面图片背景的处理?
- c/s 模式的mis系统中如何实现跨网段的访问?
- 高分---动态增加dbf表的字段,用ado动态连接数据库,出现字段定义语法错误
- 请教WideCharToMultiByte怎么用,高分,在线期待
- 有人碰到过在进程中使用memo组件,退出form报错的问题?
- 如何显示TIFF文件,及保存,求控件,急急急急!
- dbchart问题 很急
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,nb30;type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Memo1: TMemo;
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);//执行enum命令
cR := NetBios(@NC); NC.ncb_buffer := @LANAENU; //继续出来enum命令
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); //将MAC地址转成字符串输出
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);
begin
memo1.lines.add('本计算机的第'+edit1.text+'个适配器的MAC地址为'+NBGetAdapterAddress(StrtoInt(Edit1.Text)));
end;end.