- 題名: MACアドレス取得の方法
- 日時: 2003/08/13 3:11:36
- ID: 319
- この記事の返信元:
- (なし)
- この記事への返信:
- [327] Re[1]: MACアドレス取得の方法2003/08/14 20:45:16
- [329] Re[1]: MACアドレス取得の方法2003/08/15 3:05:53
- ツリーを表示
> さて、『MACアドレス』をどうしても取得したのですが、 iphlpapi.dllのSendARPを使えば取れるようですが(w2k-proで確認)、 このdllの出所が謎っぽいところが、いけてないです。 ※他にスマートな方法があるかも。 ※ローカルだけでいいなら、"ipconfig /all" をリダイレクトしてテキスト解析するというスマートでない手もある。 Declare Auto Function SendARP Lib "iphlpapi.dll" ( _ ByVal DestIP As Integer, ByVal SrcIP As Integer, _ ByVal pMacAddr As Byte(), ByRef PhyAddrLen As Integer _ ) As Integer Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = GetPhysicalAddress(IPAddress.Parse(TextBox1.Text)) 'ex. TextBox1.Text = "10.10.1.1" End Sub '--------+---------+---------+---------*---------+---------+---------+-- 'IPアドレスからMacアドレスを取得 "00-00-00-00-00-00" '--------+---------+---------+---------*---------+---------+---------+-- Private Shared Function GetPhysicalAddress( _ ByVal targetIP As IPAddress) As String Const NO_ERROR% = 0 Dim macAddr(5) As Byte Dim macSize As Integer = macAddr.Length Dim apiret As Integer = SendARP(targetIP.Address, 0, macAddr, macSize) If SendARP(targetIP.Address, 0, macAddr, macSize) <> NO_ERROR Then Return "Error or Unknown" End If Dim ret As String Dim b As Byte For Each b In macAddr ret += "-" & Hex(b).PadLeft(2, "0"c) Next Return ret.Substring(1) End Function
ここに来ると、VB.NETの情報が盛りだくさんでいつも助かってます。
最近仕事の都合でVB.NETを使用することになったのですが、
VB自体が始めてなもんで、日々勉強です。
さて、『MACアドレス』をどうしても取得したのですが、
コイツをどうやって取得したらいいものか・・・
どなたか教えてくださいますでしょうか。
よろしくお願いします。