PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → connaitre l'adresse mac d'une machine...
connaitre l'adresse mac d'une machine...
Iniciado por fly.lyf, jun., 28 2005 2:55 PM - 2 respostas
Publicado em junho, 28 2005 - 2:55 PM
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
Publicado em junho, 28 2005 - 3:21 PM
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
Publicado em junho, 29 2005 - 12:51 PM
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