Jump to content

Recommended Posts

Posted (edited)

i"m trying to get the mac address of the router im connected to. and put it into a input box. can anyone help with this?

Edited by Pwsmooth1

[color=rgb(0,0,0);font-family:Lato, Arial, Helvetica, sans-serif;font-size:16px;]Baseball is the only field of endeavor where a man can succeed three times out of ten and be considered a good performer.[/color]

  • Moderators
Posted

Plenty of examples on the forum, what have you tried?

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted

Global Const $INADDR_NONE = 0xffffffff

Global $sIP_Remote = "192.168.1.1"

$sMAC = _SendARP(@IPAddress1)
ConsoleWrite("Local MAC address (" & @IPAddress1 & "): " & $sMAC & @LF)

$sMAC = _SendARP($sIP_Remote)
ConsoleWrite("Remote MAC address (" & $sIP_Remote & "): " & $sMAC & @LF)

Func _SendARP($DestIP)
    Local $DestAddress = _inet_addr($DestIP)
    If $DestAddress = $INADDR_NONE Then Return SetError(1, 0, "INVALID_IP_ADDRESS")
    Local $tMacAddr = DllStructCreate("BYTE[8]")
    Local $aRet = DllCall("Iphlpapi.dll", "DWORD", "SendARP", "ULONG", $DestAddress, "ULONG", 0, "struct*", $tMacAddr, "ULONG*", 8)
    Local $sMAC = ""
    Switch $aRet[0]
        Case 0
            For $i = 1 To $aRet[4] - 1
                $sMAC &= Hex(DllStructGetData($tMacAddr, 1, $i), 2) & "-"
            Next
            $sMAC &= Hex(DllStructGetData($tMacAddr, 1, $i), 2)
            Return $sMAC
        Case 31
            Return SetError(2, $aRet[0], "ERROR_GEN_FAILURE")
        Case 87
            Return SetError(3, $aRet[0], "ERROR_INVALID_PARAMETER")
        Case 1784
            Return SetError(4, $aRet[0], "ERROR_INVALID_USER_BUFFER")
        Case 67
            Return SetError(5, $aRet[0], "ERROR_BAD_NET_NAME")
        Case 1168
            Return SetError(6, $aRet[0], "ERROR_NOT_FOUND")
    EndSwitch
EndFunc   ;==>_SendARP

Func _inet_addr($sIP)
    Local $aRet = DllCall("ws2_32.dll", "ULONG", "inet_addr", "str", $sIP)
    Return $aRet[0]
EndFunc   ;==>_inet_addr

Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots.
So far, the Universe is winning.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...