日期:2009-06-29  浏览次数:20404 次

'The DotNet world is so beautiful.
'Enjoy the code below
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 ProcessStartInfo = New ProcessStartInfo()
            Dim proc As New Process()
            psi.FileName = "nbtstat"
            psi.RedirectStandardInput = False
            psi.RedirectStandardOutput = True
            psi.Arguments = "-A " & IP
            psi.UseShellExecute = False
            proc = 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.WaitForExit()
            GetMac = ValueSepR(dirResults.Trim, "=").Trim
        Catch err As Exception
            MsgBox(err.Message & err.StackTrace)
        End Try
    End Function