Obtenir l'adresse IP et l'adresse MAC d'un ordinateur
# 0000000763
ajouté le 21/06/2010 12:39:43 et modifié le 21/06/2010
consulté 10232 fois
Niveau
débutant
FUNCTION BinaryToMac(lcMacAddr, lnLen) LOCAL lcMac, xj
lcMac = "" FOR xj = 1 TO lnLen - 1
lcMac = lcMac + RIGHT(TRANSFORM(ASC(; SUBSTR(lcMacAddr,xj,1)),"@0"),2) + ":" ENDFOR
lcMac = lcMac + RIGHT(TRANSFORM(ASC(; SUBSTR(lcMacAddr,lnLen,1)),"@0"),2) RETURN lcMac ENDFUNC
Commentaires
le 06/08/2012, samuel a écrit : Cela ne fonctionne pas en VFP6. Pour info, ci-dessous le message d'erreur : "Code d'erreur OLE 0x800401ea: Le nom ne peut pas ouvrir le fichier."
le 06/08/2012, Mike Gagnon a écrit : http://www.news2news.com/vfp/index.php?example=347
Peut-etre ceci?
le 07/08/2012, samuel a écrit : Merci pour le lien mais pour voir le bout de code en question, il faut s'inscrire sur le site. Je suis embêté car l'inscription est relativement chère (60€ pour 3 mois).
** Declare some API functions. DECLARE INTEGER ShellExecute ; IN SHELL32.DLL ; INTEGER nWinHandle,; STRING cOperation,; STRING cFileName,; STRING cParameters,; STRING cDirectory,; INTEGER nShowWindow DECLARE INTEGER DeleteFile IN win32api STRING =DeleteFile("c:\getmac.txt") =DeleteFile("c:\getmac.bat")
** Create the batch file and run it. =STRTOFILE("nbtstat -a " + zcIPAddrOrName + " >c:\getmac.txt", "c:\getmac.bat", .F.) =ShellExecute(0, "open", "c:\getmac.bat", "", "", 0)
** Wait until the file is created lnSeconds = SECONDS() lnHandle = FOPEN("c:\getmac.txt") DO WHILE lnHandle <= 0 AND SECONDS() - lnSeconds <= 5 ** Wait until file created... =INKEY(.1, "H") lnHandle = FOPEN("c:\getmac.txt") ENDDO IF lnHandle > 0 =FCLOSE(lnHandle) ENDIF
** Parse through the file. lcReturn = "" IF FILE("c:\getmac.txt") lcTempFile = UPPER(FILETOSTR("c:\getmac.txt")) lnStart = AT("MAC ADDRESS = ", lcTempFile) IF lnStart > 0 lnStart = lnStart + 14 lcReturn = SUBSTR(lcTempFile, lnStart, 17) ENDIF ENDIF
le 21/09/2012, samuel a écrit : Merci Mike ce code fonctionne en règle générale mais malheureusement de temps en temps, ça ne renvoit pas l'adresse Mac. Sur mon poste une fois sur 4, ça me renvoit une adresse MAC vide. Je ne comprends pas...
le 21/09/2012, Mike Gagnon a écrit : Dans cet article, il y a plusieurs exemples. As-tu essaye les autres pour voir si tu obtiens des resultats plus consistents?
Cela ne fonctionne pas en VFP6.
Pour info, ci-dessous le message d'erreur :
"Code d'erreur OLE 0x800401ea: Le nom ne peut pas ouvrir le fichier."