我搜索了这个代码..但不能用..谁给我一个比较全的.
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Label1.Text = GetMac("127.0.0.1")
'这里测试用的。..写的是我自己的IP地址.
End Sub
    Public Function ValueSepR(ByVal RawString As String, ByVal SepChar As String) As String
        If InStr(1, RawString, SepChar) <> 0 Then
            ValueSepR = Microsoft.VisualBasic.Right(RawString, Len(RawString) - InStr(1, RawString, SepChar))
        Else
            ValueSepR = RawString
        End If
    End Function
    Public Function GetMac(ByVal IP As String) As String
        Try
            Dim dirResults As String
            Dim psi As System.Diagnostics.ProcessStartInfo = New System.Diagnostics.ProcessStartInfo
            Dim proc As New System.Diagnostics.Process
            psi.FileName = "nbtstat"
            psi.RedirectStandardInput = False
            psi.RedirectStandardOutput = True
            psi.Arguments = "-A " & IP
            psi.UseShellExecute = False
            proc = System.Diagnostics.Process.Start(psi)
            Dim x As Integer = -1
'从这里就开始死循环!
            Do Until x > -1
                If dirResults <> Nothing Then
                    x = dirResults.Trim.ToLower.IndexOf("mac address", 0)
                    If x > -1 Then
                        Exit Do
                    End If
                End If
                dirResults = proc.StandardOutput.ReadLine
            Loop
'到这里结束.proc.StandardOutput.ReadLine一直显示空值            proc.WaitForExit()
            GetMac = ValueSepR(dirResults.Trim, "=").Trim
        Catch err As Exception
            Response.Write(err.Message & err.StackTrace)
        End Try
    End Function
End Class