怎样取得网卡MAC地址(在线等待)? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Function TForm1.GetAdapterMac(ANo:Integer):String;varNcb:TNcb;Adapter:TAdapterStatus; Lanaenum:TLanaenum; IntIdx:Integer; //cRc:Char; StrTemp:String;beginResult:='';TryZeroMemory(@Ncb,SizeOf(Ncb)); Ncb.ncb_command:=Chr(NCbenum); NetBios(@NCb);Ncb.ncb_buffer:=@Lanaenum; //再处理enum命令Ncb.ncb_length:=SizeOf(Lanaenum);cRc:=NetBios(@Ncb);if Ord(cRc)<>0 thenexit;ZeroMemory(@Ncb,SizeOf(Ncb)); //适配器清零Ncb.ncb_command:=Chr(NcbReset);Ncb.ncb_lana_num:=Lanaenum.lana[aNo];cRc:=NetBios(@Ncb);if Ord(cRc)<>0 thenexit;//得到适配器状态ZeroMemory(@Ncb,SizeOf(Ncb));Ncb.ncb_command:=Chr(NcbAstat);Ncb.ncb_lana_num:=Lanaenum.lana[aNo];StrPcopy(Ncb.ncb_callname,'*');Ncb.ncb_buffer:=@Adapter;Ncb.ncb_length:=SizeOf(Adapter);NetBios(@Ncb);//将mac地址转换成字符串输出StrTemp:='';For IntIdx:=0 to 5 doStrTemp:=StrTemp+IntToHex(Integer(Adapter.adapter_address[intIdx]),2);Result:=StrTemp;Finallyend;end;请给分!我等分用,呵呵呵!谢谢! nterfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,ActiveX;type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Edit2: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);var GUID: TGUID; WCLID: array[0..127] of WideChar; Start:Integer;begin CoCreateGUID(GUID); StringFromGuid2(GUID,WCLID,SizeOf(WCLID) div 2); Edit1.Text:=WideCharToString(WCLID); Start:=Length(Edit1.Text)-12; Edit2.Text:=Copy(Edit1.Text,Start,12);end;end.这是"Delphi网络通信协议分析与应用实现"这本书上的;可以的!要uses ActiveX 这个问题能用一句sql解决吗? xinxinshou2009进来吧,再给你个展现高尚人品的机会 数学一就是指高数吗?( 插入时间的问题 问一个小问题:有关clientdataset 如何在报表中打印多张图片。 关于delphi7.0中DBExpress的小问题 关于DELPHI代码格式化的软件 我用SysTime取得当前时间,为什么总是1899年的,为什么! http://www.csdn.net/expert/topic/354/354967.shtm listview的一些基本操作? 有什么好办法让一个结构型的大数组更快速地加载到内存?
var
Ncb:TNcb;
Adapter:TAdapterStatus;
Lanaenum:TLanaenum;
IntIdx:Integer; //
cRc:Char;
StrTemp:String;
begin
Result:='';
Try
ZeroMemory(@Ncb,SizeOf(Ncb));
Ncb.ncb_command:=Chr(NCbenum);
NetBios(@NCb);
Ncb.ncb_buffer:=@Lanaenum; //再处理enum命令
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[aNo];
cRc:=NetBios(@Ncb);
if Ord(cRc)<>0 then
exit;
//得到适配器状态
ZeroMemory(@Ncb,SizeOf(Ncb));
Ncb.ncb_command:=Chr(NcbAstat);
Ncb.ncb_lana_num:=Lanaenum.lana[aNo];
StrPcopy(Ncb.ncb_callname,'*');
Ncb.ncb_buffer:=@Adapter;
Ncb.ncb_length:=SizeOf(Adapter);
NetBios(@Ncb);//将mac地址转换成字符串输出
StrTemp:='';
For IntIdx:=0 to 5 do
StrTemp:=StrTemp+IntToHex(Integer(Adapter.adapter_address[intIdx]),2);
Result:=StrTemp;
Finally
end;
end;请给分!我等分用,呵呵呵!谢谢!
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,ActiveX;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
GUID: TGUID;
WCLID: array[0..127] of WideChar;
Start:Integer;
begin
CoCreateGUID(GUID);
StringFromGuid2(GUID,WCLID,SizeOf(WCLID) div 2);
Edit1.Text:=WideCharToString(WCLID);
Start:=Length(Edit1.Text)-12;
Edit2.Text:=Copy(Edit1.Text,Start,12);
end;end.这是"Delphi网络通信协议分析与应用实现"这本书上的;
可以的!要uses ActiveX