掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MACアドレス取得方法 (ID:37778)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
できれば掲示板のルール位は把握して頂きたいです。 こういうところでは動作しない場合、どんなエラーが出るのかまで書かないと対応できません。 というわけでにしのさんのソースを丸々コピーしてみました。 Button1.onClickだけ追加して以下のソースをコピペしてください。 動作確認はVista Delphi2009です。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, nb30; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} //https://www.petitmonte.com/bbs/answers?question_id=84 function GetMacAdress:string; type PAstat = ^TAstat; TAstat = packed record adapt: TAdapterStatus; NameBuff: array [0 .. 29] of TNameBuffer; end; var Adapter: TAstat; Ncb: TNCB; RetCode: Integer; lenum: TLanaEnum; i: integer; begin Result := ''; 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 Result := Result + 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) + #$D#$A; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(GetMacAdress); end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.