フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: MACアドレス
sukesan
メンバー
投稿数: 2
MACアドレス
on: 2015/12/21 16:43 Mon

MACアドレスを取得するために、検索して下記のコードで出来ることが分かりました。
ネットワークに接続しているときは取得できるのですが、接続していないときは
取得できません。
ネットワークに未接続でも取得できる方法はありますでしょうか。

function TfrmForm1.GetMAC_Address: String;
var
Ncb: TNCB;
RetCode: Integer;
lenum: TLanaEnum;
i: integer;
zStr: String;
begin
Result := '';

// ローカルのMACアドレスを取得する
// NCBENUM 命令を実行
ZeroMemory(@Ncb, SizeOf(NCB));
Ncb.ncb_command := Char(NCBENUM);
Ncb.ncb_buffer := @lenum;
Ncb.ncb_length := SizeOf(lenum);
Netbios(@Ncb);
//取得した最初のNICの分
i := 0;
// NICのリセット
ZeroMemory(@Ncb, SizeOf(NCB));
Ncb.ncb_command := Char(NCBRESET);
Ncb.ncb_lana_num := lenum.lana[i];
Netbios(@Ncb);
//NCBASTAT 命令を実行
ZeroMemory(@Ncb, SizeOf(NCB));
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 := Byte(Netbios(@Ncb));
//
zStr := '';
if RetCode = 0 then begin
zStr := (Format('%.02X-%.02X-%.02X-%.02X-%.02X-%.02X', [
Byte(Adapter.adapt.adapter_address[0]),
Byte(Adapter.adapt.adapter_address[1]),
Byte(Adapter.adapt.adapter_address[2]),
Byte(Adapter.adapt.adapter_address[3]),
Byte(Adapter.adapt.adapter_address[4]),
Byte(Adapter.adapt.adapter_address[5])]));
Result := zStr;
end;
end;
igy
メンバー
投稿数: 473
Re: MACアドレス
on: 2016/01/01 09:34 Fri

ちなみに、

モニター電源制御
http://ht-deko.com/delphiforum/?vasthtmlaction=viewtopic&t=1390

のほうは、解決されたのですか?

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.041 sec.