掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ネットワークアダプタの一覧表示 (ID:39297)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
[AdaptInfo.pas]は上記URLの物で[Unit1.pas]は下記の内容です。 // [AdaptInfo.pas]--------------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, AdaptInfo; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var AdapterMem:PIPAdapterInfo; lngRes:LongInt; lngLen:integer; i:integer; STR:string; begin lngRes := GetAdaptersInfo(nil, @lngLen); Edit1.Text:=IntToStr(lngRes); // 戻り値lngResでエラーチェック // ERROR_BUFFER_OVERFLOWだったらメモリを確保 AdapterMem := GetMemory(lngLen); try lngRes := GetAdaptersInfo(AdapterMem, @lngLen); //Edit1.Text:=IntToStr(lngRes); Memo1.Lines.Clear; while AdapterMem <> nil do begin Memo1.Lines.Add('----------------------------------'); Memo1.Lines.Add('Next: '+IntToStr(AdapterMem.Next)); Memo1.Lines.Add('ComboIndex: '+IntToStr(AdapterMem.ComboIndex)); Memo1.Lines.Add('AdapterName: '+AdapterMem.AdapterName); Memo1.Lines.Add('Description: '+AdapterMem.Description); Memo1.Lines.Add('AddressLength: '+IntToStr(AdapterMem.AddressLength)); STR:=''; for i:=0 to 7 do STR:=STR+IntToStr(AdapterMem.Address[i])+' '; Memo1.Lines.Add('Address: '+STR); { STR:=''; for i:=0 to 7 do STR:=STR+IntToHex(AdapterMem.Address[i],2)+' '; Memo1.Lines.Add('Address: '+STR); } Memo1.Lines.Add('Index: '+IntToStr(AdapterMem.Index)); Memo1.Lines.Add('lngType: '+IntToStr(AdapterMem.lngType)); Memo1.Lines.Add('DhcpEnabled: '+IntToStr(AdapterMem.DhcpEnabled)); Memo1.Lines.Add('CurrentIpAddress: '+IntToStr(AdapterMem.CurrentIpAddress)); //IpAddressList Memo1.Lines.Add('IpAddressList.Next: '+IntToStr(AdapterMem.IpAddressList.Next)); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.IpAddressList.IpAddress.IpAddressString[i])+' '; Memo1.Lines.Add('IpAddressList.IpAddress.IpAddressString: '+STR); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.IpAddressList.IpMask.IpMaskString[i])+' '; Memo1.Lines.Add('IpAddressList.IpMask.IpMaskString: '+STR); Memo1.Lines.Add('IpAddressList.Context: '+IntToStr(AdapterMem.IpAddressList.Context)); //GatewayList Memo1.Lines.Add('GatewayList.Next: '+IntToStr(AdapterMem.GatewayList.Next)); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.GatewayList.IpAddress.IpAddressString[i])+' '; Memo1.Lines.Add('GatewayList.IpAddress.IpAddressString: '+STR); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.GatewayList.IpMask.IpMaskString[i])+' '; Memo1.Lines.Add('GatewayList.IpMask.IpMaskString: '+STR); Memo1.Lines.Add('GatewayList.Context: '+IntToStr(AdapterMem.GatewayList.Context)); //DhcpServer Memo1.Lines.Add('DhcpServer.Next: '+IntToStr(AdapterMem.DhcpServer.Next)); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.DhcpServer.IpAddress.IpAddressString[i])+' '; Memo1.Lines.Add('DhcpServer.IpAddress.IpAddressString: '+STR); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.DhcpServer.IpMask.IpMaskString[i])+' '; Memo1.Lines.Add('DhcpServer.IpMask.IpMaskString: '+STR); Memo1.Lines.Add('DhcpServer.Context: '+IntToStr(AdapterMem.DhcpServer.Context)); // Memo1.Lines.Add('HaveWins: '+IntToStr(AdapterMem.HaveWins)); //PrimaryWinsServer Memo1.Lines.Add('PrimaryWinsServer.Next: '+IntToStr(AdapterMem.PrimaryWinsServer.Next)); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.PrimaryWinsServer.IpAddress.IpAddressString[i])+' '; Memo1.Lines.Add('PrimaryWinsServer.IpAddress.IpAddressString: '+STR); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.PrimaryWinsServer.IpMask.IpMaskString[i])+' '; Memo1.Lines.Add('PrimaryWinsServer.IpMask.IpMaskString: '+STR); Memo1.Lines.Add('PrimaryWinsServer.Context: '+IntToStr(AdapterMem.PrimaryWinsServer.Context)); //SecondaryWinsServer Memo1.Lines.Add('SecondaryWinsServer.Next: '+IntToStr(AdapterMem.SecondaryWinsServer.Next)); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.SecondaryWinsServer.IpAddress.IpAddressString[i])+' '; Memo1.Lines.Add('SecondaryWinsServer.IpAddress.IpAddressString: '+STR); STR:=''; for i:=0 to 15 do STR:=STR+IntToStr(AdapterMem.SecondaryWinsServer.IpMask.IpMaskString[i])+' '; Memo1.Lines.Add('SecondaryWinsServer.IpMask.IpMaskString: '+STR); Memo1.Lines.Add('SecondaryWinsServer.Context: '+IntToStr(AdapterMem.SecondaryWinsServer.Context)); // Memo1.Lines.Add('LeaseObtained: '+IntToStr(AdapterMem.LeaseObtained)); Memo1.Lines.Add('LeaseExpires: '+IntToStr(AdapterMem.LeaseExpires)); // ループの最後で次の実体へのポインタを取得。最後であればnilが返ってくる AdapterMem:=Pointer(AdapterMem.Next); end; except ShowMessage('Error'); end; end; end. //[ここまで]---------------------------
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.