掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Win2000でMACアドレスを取得するには? (ID:295)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
上の例のDELPHI版です。 implementation以下に貼り付けてください。フォームの名前はForm1、貼り付けてあるのはMemo1です。 Form1のOnCreate(FormCreate)が、下のFormCreateです。 //--ここから uses nb30; type PAstat = ^TAstat; TAstat = packed record adapt: TAdapterStatus; NameBuff: array [0 .. 29] of TNameBuffer; end; var Adapter: TAstat; {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); var Ncb: TNCB; RetCode: Integer; lenum: TLanaEnum; i: integer; begin Memo1.Lines.Clear; // FillChar(Ncb, SizeOf(NCB), 0); Ncb.ncb_command := Char(NCBENUM); Ncb.ncb_buffer := @lenum; Ncb.ncb_length := SizeOf(lenum); RetCode := Integer(Netbios( @Ncb )); Memo1.Lines.Add( 'The NCBENUM return code is: $' + IntToHex(RetCode, 2) ); for i := 0 to integer(lenum.length) - 1 do begin FillChar(Ncb, SizeOf(NCB), 0); Ncb.ncb_command := Char(NCBRESET); Ncb.ncb_lana_num := lenum.lana[i]; RetCode := Integer(Netbios( @Ncb )); Memo1.Lines.Add( 'The NCBRESET on LANA ' + IntToStr(Integer(lenum.lana[i])) +' return code is: $' + IntToHex(RetCode, 2) ); FillChar(Ncb, SizeOf(NCB), 0); Ncb.ncb_command := Char(NCBASTAT); Ncb.ncb_lana_num := lenum.lana[i]; Ncb.ncb_callname := '* '; Ncb.ncb_buffer := @Adapter; Ncb.ncb_length := SizeOf(Adapter); RetCode := Integer(Netbios( @Ncb )); Memo1.Lines.Add( 'The NCBASTAT on LANA ' + IntToStr(Integer(lenum.lana[i])) +' return code is: $' + IntToHex(RetCode, 2) ); if RetCode = 0 then begin Memo1.Lines.Add('The Ethernet Number on LANA ' + IntToStr(Integer(lenum.lana[i])) + ' is:' + IntToHex(integer(Adapter.adapt.adapter_address[0]), 2) + '-' + IntToHex(integer(Adapter.adapt.adapter_address[1]), 2) + '-' + IntToHex(integer(Adapter.adapt.adapter_address[2]), 2) + '-' + IntToHex(integer(Adapter.adapt.adapter_address[3]), 2) + '-' + IntToHex(integer(Adapter.adapt.adapter_address[4]), 2) + '-' + IntToHex(integer(Adapter.adapt.adapter_address[5]), 2)); end; end; end; //--ここまで
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.