Olá pessoal.
Hoje irei mostrar como pegar a informação de Mac Address via AdvPL (Protheus).
Para pegar o Mac Address, primeiramente deve-se usar alguma estação Windows, pois é utilizado o comando getMac, da forma como foi desenvolvida sempre é retorna o primeiro Mac Address encontrado através de comando executado via AdvPL. Abaixo um print do alerta, porém retirei a parte do meio do texto.
Abaixo o código fonte utilizado:
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zPegaMac Pegando o MAC Address de máquinas hospedeiras com Windows @author Atilio @since 23/09/2014 @version 1.0 @example u_zPegaMac() @see https://terminaldeinformacao.com/advpl/ /*/ User Function zPegaMac() Local cComando := "getmac > " Local cDir := GetTempPath() Local cNomBat := "comando_mac.bat" Local cArquivo := "mac_address.txt" Local cMac := "" //Gravando em um .bat o comando MemoWrite(cDir + cNomBat, cComando + cDir + cArquivo) //Executando o comando através do .bat ShellExecute("OPEN", cDir+cNomBat, "", cDir, 0 ) //Se existe o arquivo If File(cDir+cArquivo) ConOut("[zPegaMac] > Arquivo gerado.") //Gerando o MacAddress cMac := MemoRead(cDir + cArquivo) cMac := SubStr(cMac, RAt("=", cMac)+1, Len(cMac)) //Pegando a partir do ultimo igual cMac := SubStr(cMac, 1, At(" ", cMac)-1) //Pegando até o primeiro espaço cMac := StrTran(cMac, Chr(13)+Chr(10), "") //retirando os -enters- EndIf //Alert("|"+cMac+"|") Return cMac
Bom pessoal, por hoje é só.
Abraços e até a próxima.