WakePC("L'adresse Mac du PC à allumer")
--------------------------------------------
PROCEDURE hexa2ascii(texteHexa)
TexteASCII est une chaîne = ""
num est une chaîne = ""
ind est un entier
POUR ind = 1 A Taille(texteHexa)
num = Milieu(texteHexa, ind, 2)
TexteASCII = TexteASCII + Caract(Val(num,"x"))
ind++
FIN
RENVOYER TexteASCII
--------------------------------------------
PROCEDURE WakePC(sAdrMACEnv)
Data est une chaîne
Data = "FFFFFFFFFFFF"
ind est un entier
POUR ind = 1 A 16
Data = Data + sAdrMACEnv
FIN
Data = Data + hexa2ascii(Data)
MonObjWinSock est une objet Automation dynamique
MonObjWinSock = allouer un objet Automation "MSWinsock.winsock"
MonObjWinSock>>Protocol("1") //0 Tcp; 1 UDP
MonObjWinSock>>RemoteHost ("255.255.255.255") //Ton masque de sous reseau
MonObjWinSock>>RemotePort("7") //N° Port par defaut 9
MonObjWinSock>>LocalPort("2154")
MonObjWinSock>>SendData(Caract(34)+Data+Caract(34))
libérer MonObjWinSock
------------------------------------
Quoi tu veux récupéré l'adresse MAC par programation, tu es gourmand,
mais bon ok :
MonAdresseMac = EnvoiAdresseMAC("127.0.0.1",chaineDeRecuperationD'Erreur)
----------------------------------
Procedure EnvoiAdresseMAC(sIpEnv,sErrRenv)
eAdrIP est un entier = 0
eAdrMAC est un entier = 0
TblAdrMAC est un tableau fixe de 6 entiers sur 1 octet
NbAdrMAC est un entier = 0
eRet est un entier = 0
sAdrMACRenv est une chaîne = ""
eAdrIP = AppelDLL32("wsock32.dll", "inet_addr", &sIpEnv) //Converti l'Adresse IP en Entier
Multitâche()
SI eAdrIP <> 0 ALORS
NbAdrMAC = 6
SI PAS AppelDLL32("iphlpapi.dll", "SendARP", eAdrIP, 0, &eAdrMAC,&NbAdrMAC) ALORS //récupération de l'adresse MAC
Multitâche()
SI eAdrMAC <> 0 ET NbAdrMAC <> 0 ALORS
Transfert(&TblAdrMAC, &eAdrMAC, 6) //On transfert les composantes de l'Adresse MAC recupéré dans le Tableau
POUR z=1 A NbAdrMAC
Multitâche()
sAdrMACRenv += NumériqueVersChaîne(TblAdrMAC[z],"02X")+"-" //Converti chaque composante de l'Adresse MAC en Hexadecimal comme une Adresse MAC normale
FIN
sAdrMACRenv = Gauche(sAdrMACRenv, Taille(sAdrMACRenv)-1) //On vire le "-" Final
sErrRenv = ""
RENVOYER sAdrMACRenv
SINON
sErrRenv = "Aucune Adresse MAC n'a été trouvé pour l'IP : '"+sIpEnv+"' !!!"
RENVOYER ""
FIN
SINON
sErrRenv = "L'envoi de la requète ARP pour l'IP : '"+sIpEnv+"' n'a pas marcher !!!" + RC + "DLL : iphlpapi.dll / Fonction : SendARP"
RENVOYER ""
FIN
SINON
sErrRenv = "L'IP : '"+sIpEnv+"' n'a pas pu être Converti en Entier !!!" + RC + "DLL : wsock32.dll / Fonction : inet_addr"
RENVOYER ""
FIN
si tu n'y arrives pas avec ça, laisse tomber fais des crêpes...........
bye
__________________________
tontonpolak was here...