Hasta ahi habia llegado:
- Code: Select all Expand view RUN
- #include "FiveWin.ch"
FUNCTION Main() //Probando()
local aDispConect := {}, cDir := TrueName(".\")
local cTexto, n, nLineas, cLinea, cIP, cMac, cNombre, cIpInterfaz
WAITRUN( "cmd.exe /c arp -a > " +cDir+ "\ARP.txt" , .f.)
WaitRun("Notepad.exe " +cDir+ "\ARP.txt")
cTexto := MEMOREAD(cDir + "\ARP.txt")
nLineas := MLCOUNT(cTexto)
//Agreg dispositivo desde donde se corre el programa. El .txt solo presenta la IP
cLinea := MEMOLINE(cTexto,255,2) //en linea 2 esta la ip del equipo desde donde se corre
cIpInterfaz := SUBSTR(cLinea,11,12)
cNombre := NETNAME()
AAdd( aDispConect, { cIpInterfaz, "cMac?", cNombre } )
//Fin Agreg dispositivo desde donde se corre el programa
For n := 4 To nLineas //En lin 4 del .txt comienzan las ip y mac
cLinea := MEMOLINE(cTexto,255,n)
cIP := SUBSTR(cLinea,3,20)
cMac := SUBSTR(cLinea,25,21)
cNombre := GetHostByAddress(AllTrim(cIP)) //Obtiene nombre a partir de la IP
if Substr(AllTrim(cIP),1,9) == Substr(AllTrim(cIpInterfaz),1,9) .and. AllTrim(cMac) <> "ff-ff-ff-ff-ff-ff"
AAdd( aDispConect, { cIP, cMac, cNombre } )
endif
Next
SysRefresh()
XBROWSER aDispConect TITLE "Dispositivos Conectados" ;
SETUP ( oBrw:cHeaders := {"IP", "MAC", "DISPOSITIVO"} )
RETURN NIL