一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Delphi獲取本機(jī)Mac地址

 fjwolf 2009-03-19
Delphi獲取本機(jī)Mac地址
2008-07-05 16:51

在delphi的nb30.pas單元中,包含了對(duì)netbios協(xié)議的完全支持,在該單元中定義了一個(gè)名為netbios的函數(shù),通過該函數(shù)就能夠得到本機(jī)的MAC地址.

在編程時(shí),引入nb30單元.如下源碼....

unit Unit1;

interface

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

type
   TForm1 = class(TForm)
     Edit1: TEdit;
     procedure FormCreate(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;

var
   Form1: TForm1;

implementation

{$R *.dfm}
function GetNetBIOSAddress : string;
var   ncb   : TNCB;
   status   : TAdapterStatus;
   lanenum : TLanaEnum;
     procedure ResetAdapter (num : char);
     begin
       fillchar(ncb,sizeof(ncb),0);
       ncb.ncb_command:=char(NCBRESET);
       ncb.ncb_lana_num:=num;
       Netbios(@ncb);
     end;
var
   i:integer;
   lanNum   : char;
   address : record
              part1 : Longint;
              part2 : Word;
             end absolute status;
begin
   Result:='';
   fillchar(ncb,sizeof(ncb),0);
     ncb.ncb_command:=char(NCBENUM);
     ncb.ncb_buffer:=@lanenum;
     ncb.ncb_length:=sizeof(lanenum);
   Netbios(@ncb);
   if lanenum.length=#0 then exit;
   lanNum:=lanenum.lana[0];
   ResetAdapter(lanNum);
   fillchar(ncb,sizeof(ncb),0);
     ncb.ncb_command:=char(NCBASTAT);
     ncb.ncb_lana_num:=lanNum;
     ncb.ncb_callname[0]:='*';
     ncb.ncb_buffer:=@status;
     ncb.ncb_length:=sizeof(status);
   Netbios(@ncb);
   ResetAdapter(lanNum);
   for i:=0 to 5 do
   begin
     result:=result+inttoHex(integer(Status.adapter_address[i]),2);
     if (i<5) then
     result:=result+'-';
   end;
end;
//
procedure TForm1.FormCreate(Sender: TObject);   //命令
begin
edit1.text:=GetNetBIOSAddress;
end;
end.

當(dāng)然,也還有其它方法實(shí)現(xiàn).如下例則是引入dll函數(shù)庫來實(shí)現(xiàn)

Function MacAddress: string;
var
   Lib: Cardinal;
   Func: function(GUID: PGUID): Longint; stdcall;
   GUID1, GUID2: TGUID;
begin
   Result := ';
   Lib := LoadLibrary('rpcrt4.dll');
   if Lib <> 0 then
   begin
     if Win32Platform <>VER_PLATFORM_WIN32_NT then
       @Func := GetProcAddress(Lib, 'UuidCreate')
       else @Func := GetProcAddress(Lib, 'UuidCreateSequential');
     if Assigned(Func) then
     begin
       if (Func(@GUID1) = 0) and
         (Func(@GUID2) = 0) and
         (GUID1.D4[2] = GUID2.D4[2]) and
         (GUID1.D4[3] = GUID2.D4[3]) and
         (GUID1.D4[4] = GUID2.D4[4]) and
         (GUID1.D4[5] = GUID2.D4[5]) and
         (GUID1.D4[6] = GUID2.D4[6]) and
         (GUID1.D4[7] = GUID2.D4[7]) then
       begin
         Result :=
          IntToHex(GUID1.D4[2], 2) + '-' +
          IntToHex(GUID1.D4[3], 2) + '-' +
          IntToHex(GUID1.D4[4], 2) + '-' +
          IntToHex(GUID1.D4[5], 2) + '-' +
          IntToHex(GUID1.D4[6], 2) + '-' +
          IntToHex(GUID1.D4[7], 2);
       end;
     end;
     FreeLibrary(Lib);
   end;
end;


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲欧洲成人精品香蕉网| 五月天婷亚洲天婷综合网| 国产日本欧美特黄在线观看| 国产一区二区精品丝袜| 日本人妻中出在线观看| 精品国模一区二区三区欧美| 亚洲中文字幕视频在线观看| 色欧美一区二区三区在线| 国产自拍欧美日韩在线观看| 国产一级不卡视频在线观看| 美女激情免费在线观看| 国产成人精品综合久久久看 | 国产欧美一区二区三区精品视| 成人精品欧美一级乱黄| 久久热这里只有精品视频| 欧美日韩乱一区二区三区| 国产精品大秀视频日韩精品| 成人免费在线视频大香蕉| 日韩精品一区二区亚洲| 国产一区日韩二区欧美| 中文字幕不卡欧美在线| 色婷婷亚洲精品综合网| 免费特黄一级一区二区三区| 亚洲国产91精品视频| 国产亚洲精品一二三区| 成人精品一级特黄大片| 亚洲欧洲精品一区二区三区| 99久久精品午夜一区二| 精品久久少妇激情视频| 国产精品熟女乱色一区二区| 久久久精品日韩欧美丰满 | 老司机精品视频在线免费看| 国产精品偷拍视频一区| 亚洲最大福利在线观看| 久草视频这里只是精品| 蜜桃传媒在线正在播放| 91日韩在线观看你懂的| 国产一区二区三区av在线| 精品亚洲av一区二区三区| 国产一区二区三区色噜噜| 欧美国产日产综合精品|