PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → connaitre l'adresse mac d'une machine...
connaitre l'adresse mac d'une machine...
Débuté par Eric L, 28 juin 2005 14:55 - 2 réponses
Posté le 28 juin 2005 - 14:55
Bonjour,

existe-t-il une fonction permettant de connaitre l'adresse MAC d'une machine, le réseau étant configuré en DHCP, je souhaite donner l'accès à certain projet que sur certain poste (et pas certain user).

merci de vos réponses
Posté le 28 juin 2005 - 15:21
Eric L a écrit :
Bonjour,

existe-t-il une fonction permettant de connaitre l'adresse MAC d'une machine, le réseau étant configuré en DHCP, je souhaite donner l'accès à certain projet que sur certain poste (et pas certain user).

merci de vos réponses


A ma connaissance non, par contre est ce qu'il est possible de filtrer sur le nom des machine je ne sais pas (via une
requete DNS).
Une autre solution est p.e. de toucher au serveur DHCP pour attribuer des IP fixe a certaine carte réseaux.

Damien
Posté le 29 juin 2005 - 12:51
Après recherche j'ai trouvé mon bonheur, un grand merci à Tanguy Pruvot pour son bout de code.


// Récupération de l'adresse MAC à partir de son IP.
// Tanguy Pruvot
// 17/12/2003



FONCTION NetRemoteMAC(sRemoteIP=NetAdresseIP())

sRes est chaîne
nRemoteIP est un entier sans signe
bfMacAddr est chaîne
sErr est chaîne
N, nMacAddrLen sont entiers

nRemoteIP = API("wsock32.dll","inet_addr",sRemoteIP)

SI nRemoteIP <> 0 ALORS

nMacAddrLen = 6
bfMacAddr = Complète("",6)

//Recuperation de la MAC-address distante
SI API("iphlpapi.dll","SendARP",nRemoteIP, Null, &bfMacAddr, &nMacAddrLen) = 0 ALORS

SI nMacAddrLen <> 0 ALORS

POUR N = 1 A nMacAddrLen
sRes += NumériqueVersChaîne(Asc(bfMacAddr[[N]]),"02x") + "-"
FIN

SI Taille(sRes) > 0 ALORS
sRes = Gauche(sRes, Taille(sRes) - 1)
RENVOYER Majuscule(sRes)
FIN

FIN

SINON
sErr="SendARP"
FIN

SINON
sErr="inet_addr"
FIN

RENVOYER "Err "+sErr