Maybe this could help too:
$IP = @IPAddress1
ConsoleWrite(_SendARP($IP) & @CRLF)
Func _inet_addr($sIP)
Local $aRet = DllCall("ws2_32.dll", "ULONG", "inet_addr", "str", $sIP)
Return $aRet[0]
EndFunc ;==>_inet_addr
Func _SendARP($DestIP)
Local $DestAddress = _inet_addr($DestIP)
If $DestAddress = 0xFFFFFFFF 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