PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → récuper le nom d'une machine distante
récuper le nom d'une machine distante
Started by sebastien.bonilla, Sep., 17 2004 6:19 PM - 14 replies
Posted on September, 17 2004 - 6:19 PM
bonjour,

je débute et je souhaiterais récuper le nom d'une machine distante sur le
reseau local par les API windows ?

une idée?
Posted on September, 17 2004 - 7:07 PM
Regarde la fonction :
NetNomMachine()

A+

Fil



"sebastien bonilla" <sebastien.bonilla@mutuelledulimousin.fr> a écrit dans
le message de news: 414af21b$1@news.pcsoft.fr...

bonjour,

je débute et je souhaiterais récuper le nom d'une machine distante sur le
reseau local par les API windows ?

une idée?

Posted on September, 17 2004 - 7:17 PM
Salut

J'ai besoin d'un peu plus d'informations

Veux-tu réupérer son nom à partir de son adresse ip?



Mathieu
Posted on September, 17 2004 - 7:57 PM
OUI tout à fait
"Mathieu Kurth" <mkurth@difemax.ca> a écrit dans le message de
news:414aff62@news.pcsoft.fr...

Salut

J'ai besoin d'un peu plus d'informations

Veux-tu réupérer son nom à partir de son adresse ip?



Mathieu


Posted on September, 17 2004 - 8:03 PM
Cette fonction renvoie le nom du poste local
Ce qui m'interesse c'est d'un poste distant.grace à son IP que je possède

"Psotric" <filip@ibelgique.com> a écrit dans le message de
news:414afd6d@news.pcsoft.fr...

Regarde la fonction :
NetNomMachine()

A+

Fil



"sebastien bonilla" <sebastien.bonilla@mutuelledulimousin.fr> a écrit dans
le message de news: 414af21b$1@news.pcsoft.fr...

bonjour,

je débute et je souhaiterais récuper le nom d'une machine distante sur

le
reseau local par les API windows ?

une idée?



Posted on September, 18 2004 - 6:36 PM
Le 17/09/2004, sebastien bonilla a supposé :
OUI tout à fait
"Mathieu Kurth" <mkurth@difemax.ca> a écrit dans le message de
news:414aff62@news.pcsoft.fr...

Salut

J'ai besoin d'un peu plus d'informations

Veux-tu réupérer son nom à partir de son adresse ip?



Mathieu


Bonjour,
C'est une ressource que l'on a sur les wtablettes (site dédié à WebDev)
Donc c'est pour WebDev mais il n'y a aucune raison que cela ne
convienne pas en WD.

http://www.4usinfo.com/perso/wnomclient.htm

--
Eric
Posted on September, 20 2004 - 6:38 PM
Merci de tout vos renseignements. J'ai pu réaliser ce que je devais faire.

Cependant, avec les API est-ce possible?


"Eric R." <eric@wtablettes.net> a écrit dans le message de
news:mn.93e47d49bdf757cb.11485@wtablettes.net...
Le 17/09/2004, sebastien bonilla a supposé :
OUI tout à fait
"Mathieu Kurth" <mkurth@difemax.ca> a écrit dans le message de
news:414aff62@news.pcsoft.fr...

Salut

J'ai besoin d'un peu plus d'informations

Veux-tu réupérer son nom à partir de son adresse ip?



Mathieu

Bonjour,
C'est une ressource que l'on a sur les wtablettes (site dédié à WebDev)
Donc c'est pour WebDev mais il n'y a aucune raison que cela ne
convienne pas en WD.

http://www.4usinfo.com/perso/wnomclient.htm

--
Eric
Posted on September, 23 2004 - 12:33 AM
Oui

J'ai même le code mais j'ai un petit problème avec.

Tu le veux quand même


Mathieu
Posted on September, 24 2004 - 12:42 PM
oui je le veut bien ,ca ne coute rien
merci

"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de
news:4151e0c5@news.pcsoft.fr...


Oui

J'ai même le code mais j'ai un petit problème avec.

Tu le veux quand même


Mathieu
Posted on September, 25 2004 - 1:51 AM
Voici le code (attention il y a trois procedures au total séparées par des //Début... et //Fin...

//Début du code bouton
hostent est une structure
h_name est un entier
h_addrtype est un entier sur 2 octets
h_length est un entier sur 2 octets
h_addr_list est un entier
FIN
iRetour est un entier
strNom est une chaîne
strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du réseau
h_hostent est un hostent
iIdAdresse est un entier
iPointeur est un entier

SI init() ALORS
iIdAdresse = API("Ws2_32","inet_addr",strAdr)
SI iIdAdresse <> -1 ALORS
iPointeur = API("Ws2_32","gethostbyaddr",&iIdAdresse,Dimension(iIdAdresse),2)
SI iPointeur <> 0 ALORS
Transfert(&h_hostent,iPointeur,Dimension(h_hostent))
strNom = ChaîneRécupère(h_hostent:h_name,crAdresseASCIIZ)
SINON
Erreur(ErreurInfo())
FIN
FIN
fininit()
FIN
//fin du code bouton

//début du code de la procédure init()
WSADATA est une structure
wVersion est un entier sur 2 octets //Type C : WORD
wHighVersion est un entier sur 2 octets //Type C : WORD
szDescription est un caractère //Type C : char
szSystemStatus est un caractère //Type C : char
iMaxSockets est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER)
iMaxUdpDg est un entier //Type unsigned short non retrouvé (entier est le type le plus fréquent, mais à VERIFIER)
lpVendorInfo est un entier //Type C : pointeur sur char FAR
FIN
bRetour est un booléen
ws est un WSADATA
iRetour est un entier
iRetour = API("Ws2_32","WSAStartup",257,&ws)
SI iRetour = 0 ALORS
bRetour = Vrai
SINON
bRetour = Faux
FIN
RENVOYER bRetour
//fin procédure init()

//début code procédure fininti()
API("Ws2_32","WSACleanup")
//fin procedure fininit()


Le problème que j'ai c'est que la fonction api "gethostbyaddr" retourne un pointeur <> 0 seulement si je met un point d'arrêt ou l'instruction STOP avant l'appel de la fonction.


Mathieu
Posted on September, 27 2004 - 4:37 PM
le code fonctionne effectivement mais uniquement avec un point d'arret.
Très embettant...

=> la fonction : iIdAdresse = API("Ws2_32","inet_addr",strAdr)
retourne 0 si l'on ne met pas de point d'arret
=> la fonction : API("Ws2_32","WSAStartup",257,&ws) retourne bien VRAI
meme sans point d'arret.

Une idée ???

"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de
news:41549634@news.pcsoft.fr...


Voici le code (attention il y a trois procedures au total séparées par des

//Début... et //Fin...

//Début du code bouton
hostent est une structure
h_name est un entier
h_addrtype est un entier sur 2 octets
h_length est un entier sur 2 octets
h_addr_list est un entier
FIN
iRetour est un entier
strNom est une chaîne
strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du

réseau
h_hostent est un hostent
iIdAdresse est un entier
iPointeur est un entier

SI init() ALORS
iIdAdresse = API("Ws2_32","inet_addr",strAdr)
SI iIdAdresse <> -1 ALORS
iPointeur =

API("Ws2_32","gethostbyaddr",&iIdAdresse,Dimension(iIdAdresse),2)
SI iPointeur <> 0 ALORS
Transfert(&h_hostent,iPointeur,Dimension(h_hostent))
strNom = ChaîneRécupère(h_hostent:h_name,crAdresseASCIIZ)
SINON
Erreur(ErreurInfo())
FIN
FIN
fininit()
FIN
//fin du code bouton

//début du code de la procédure init()
WSADATA est une structure
wVersion est un entier sur 2 octets //Type C : WORD
wHighVersion est un entier sur 2 octets //Type C : WORD
szDescription est un caractère //Type C : char
szSystemStatus est un caractère //Type C : char
iMaxSockets est un entier //Type unsigned short non retrouvé (entier est

le type le plus fréquent, mais à VERIFIER)
> iMaxUdpDg est un entier //Type unsigned short non retrouvé (entier est le
type le plus fréquent, mais à VERIFIER)
lpVendorInfo est un entier //Type C : pointeur sur char FAR
FIN
bRetour est un booléen
ws est un WSADATA
iRetour est un entier
iRetour = API("Ws2_32","WSAStartup",257,&ws)
SI iRetour = 0 ALORS
bRetour = Vrai
SINON
bRetour = Faux
FIN
RENVOYER bRetour
//fin procédure init()

//début code procédure fininti()
API("Ws2_32","WSACleanup")
//fin procedure fininit()


Le problème que j'ai c'est que la fonction api "gethostbyaddr" retourne un

pointeur <> 0 seulement si je met un point d'arrêt ou l'instruction STOP
avant l'appel de la fonction.


Mathieu
Posted on September, 28 2004 - 1:49 AM
Salut,

1) Il manque le chargement de la DLL
-> risque de gpf

2) Il manque un appel à "WSAStartup"

3) Voisci un procédure complète que j'ai :


// Description des paramtres d'entre/sortie de 'NetNomMachineSelonIp' :
//Cette fonction retourne le nom d'un machine partir de son adresse IP

//
// Syntaxe :
//[ <Rsultat> = ] NetNomMachineSelonIp (<sParamAdresseIp>[,
<sParamErreurEnRetour>])
//
// Paramtres :
// sParamAdresseIp : Adresse IP de la machine dont on veut le nom
// sParamErreurEnRetour : Message d'erreur en cas de pb
// Valeur de retour :
// chaine : Nom de la machine. Si 2 noms sont trouvs alors il sont
séparés par une tabulation
// Chaine vide si la résolution échoue. Dans ce cas
'sParamErreurEnRetour' sontient le message d'erreur.

// Exemple :
// sNomMachine est une chaine
// sMessageErreur est une chaine
//
// sNomMachine=NetNomMachineSelonIp("192.168.1.1",sMessageErreur)
// //rsultat ?
// SI sNomMachine="" ALORS
// Erreur(sMessageErreur)
// SINON
// Info("Le nom de la machine est : ",sNomMachine)
// FIN

PROCEDURE NetNomMachineSelonIp(sParamAdresseIp,sParamErreurEnRetour="")

sAdresseIp est une chaîne
//Stucture utilis par 'inet_addr'
sockaddr est une structure
eFamille est un entier sur 2 octets
ePort est un entier sur 2 octets sans signe
eAddr est un entier
szInzero est une chaîne fixe sur 8
FIN
//Structure pour Gethostbyname
hostent est une structure
eName est un entier
eAliases est un entier
eAddrtype est un entier sur 2 octets
elength est un entier sur 2 octets
eAddr_list est un entier
FIN
WsaData est une structure
//Version de la DLL WinSock
eVersion est un entier
//Version maximum de la DLL WinSock support
eMaxVersion est un entier
//Texte qui dcrit la version d'implmentation (taille :
WSADESCRIPTION_LEN+1%7)
szDescription est une chaîne fixe sur 257
//Informations sur le statut et la configuration (taille :
WSASYS_STATUS_LEN+19)
szStatus est une chaîne fixe de 129
//Version des fonctionnalités autorise pour compatibilit avec les
anciennes versions de WinSock infrieur 2
ecMAxSockets est un entier sur 2 octets sans signe
//Version des fonctionnalités autorise pour compatibilit avec les
anciennes versions de WinSock infrieur 1.1
ecMaxUdpDg est un entier sur 2 octets sans signe
//Pointeur sur un strcture (ignor partir de WinSock 2)
lpVendorInfo est un entier
FIN
//Nom de la dll WinSok
sNomDllWinSock est une chaîne="WS2_32.DLL"//"WSock32.DLL"
//INstance de la dll charge
eInstanceWinSock est un entier
//Cration d'une variable base sur la structure 'sockaddr'
stSockaddr est un sockaddr
//Cration d'une variable base sur la structure 'hostent'
sthostent est un hostent
//Cration d'une variable base sur la structure 'WsaData'
stWsaData est un WsaData
eVersionRequise est un entier =0x0202 //0x0202 pour version 2.0 (2
en min et en max)
//Constante retourne e cas d'chec de inet_addr
INADDR_NONE est un entier =0xffffffff
//entier qui contiendra le rsultat de la structure pointe par
'gethostbyname'
eptsthostent est un entier
epteAddr est un entier
//rsultat
sNomMachineDistante est une chaîne=""
sNom2MachineDistante est une chaîne=""

//récupération de l'adresse IP pass en paramtre
sAdresseIp=sParamAdresseIp

//Chargement d'une instance de la DLL
eInstanceWinSock = ChargeDLL(sNomDllWinSock)

SI eInstanceWinSock = 0 ALORS
sParamErreurEnRetour="Chargement de WinSok impossible. Vrifier que
TCP/IP est bien install."+RC+ErreurInfo()
RENVOYER ""
FIN

//Initialisation de Winsok
SI AppelDLL32(sNomDllWinSock,"WSAStartup",eVersionRequise,&stWsaData) <>
0 ALORS
sParamErreurEnRetour="Erreur"+RC+ErreurInfo()
SINON
//convertion de l'adresse IP au format attendu par la fonction
'gethostbyaddr'
stSockaddr:eAddr=AppelDLL32(sNomDllWinSock,"inet_addr",sAdresseIp)

// Vérification du rsultat
SI stSockaddr:eAddr = INADDR_NONE ALORS
//Adresse incorrect en numrique
//Addresse Texte ? -> Résolution de l'adresse
eptsthostent = AppelDLL32(sNomDllWinSock, "gethostbyname",
sAdresseIp)
SI eptsthostent = Null ALORS
sParamErreurEnRetour="L'adresse n'a pas pu tre
rsolue."+RC+ErreurInfo()
SINON
// Copie de la structure initialise par gethostbyname
Transfert(&sthostent, eptsthostent, Dimension(sthostent))
//rcupration du nom ICI
sNomMachineDistante=ChaîneRécupère
(sthostent:eName,crAdresseASCIIZ)
sNom2MachineDistante=ChaîneRécupère
(sthostent:eAliases,crAdresseASCIIZ)
//Note : sthostent:eAliases contient un alias du nom (un
deuxième nom)
FIN
SINON
eptsthostent = API(sNomDllWinSock,"gethostbyaddr",
&stSockaddr:eAddr,Dimension(stSockaddr:eAddr),2)
SI eptsthostent=Null ALORS
sNomMachineDistante="L'adresse n'a pas pu tre
rsolue."+RC+ErreurInfo()
SINON
// Copie de la structure initialise par gethostbyaddr
Transfert(&sthostent, eptsthostent, Dimension(sthostent))
//rcupration du nom ICI
sNomMachineDistante=ChaîneRécupère
(sthostent:eName,crAdresseASCIIZ)
sNom2MachineDistante=ChaîneRécupère
(sthostent:eAliases,crAdresseASCIIZ)
//Note : sthostent:eAliases contient un alias du nom (un
deuxième nom)
FIN
FIN
FIN

//décharge Winsock
DéchargeDLL(eInstanceWinSock)

//2 noms ?
SI sNom2MachineDistante<>"" ALORS
//retourne les 2 noms
RENVOYER sNomMachineDistante+TAB+sNom2MachineDistante
SINON
//retourne le nom de la machine s'il a t trouvé
RENVOYER sNomMachineDistante
FIN




--
En esperant t'avoir aidé.
ted
Posted on September, 28 2004 - 6:34 PM
Impec ! Ca fonctionne merci.

"ted" <_s_p_a_m_ted.o@free.fr> a écrit dans le message de
news:XnF9571F259F5B21tedofreefr@81.80.226.155...
Salut,

1) Il manque le chargement de la DLL
-> risque de gpf

2) Il manque un appel à "WSAStartup"

3) Voisci un procédure complète que j'ai :


// Description des paramtres d'entre/sortie de 'NetNomMachineSelonIp' :
//Cette fonction retourne le nom d'un machine partir de son adresse IP

//
// Syntaxe :
//[ <Rsultat> = ] NetNomMachineSelonIp (<sParamAdresseIp>[,
<sParamErreurEnRetour>])
//
// Paramtres :
// sParamAdresseIp : Adresse IP de la machine dont on veut le nom
// sParamErreurEnRetour : Message d'erreur en cas de pb
// Valeur de retour :
// chaine : Nom de la machine. Si 2 noms sont trouvs alors il sont
séparés par une tabulation
// Chaine vide si la résolution échoue. Dans ce cas
'sParamErreurEnRetour' sontient le message d'erreur.

// Exemple :
// sNomMachine est une chaine
// sMessageErreur est une chaine
//
// sNomMachine=NetNomMachineSelonIp("192.168.1.1",sMessageErreur)
// //rsultat ?
// SI sNomMachine="" ALORS
// Erreur(sMessageErreur)
// SINON
// Info("Le nom de la machine est : ",sNomMachine)
// FIN

PROCEDURE NetNomMachineSelonIp(sParamAdresseIp,sParamErreurEnRetour="")

sAdresseIp est une chaîne
//Stucture utilis par 'inet_addr'
sockaddr est une structure
eFamille est un entier sur 2 octets
ePort est un entier sur 2 octets sans signe
eAddr est un entier
szInzero est une chaîne fixe sur 8
FIN
//Structure pour Gethostbyname
hostent est une structure
eName est un entier
eAliases est un entier
eAddrtype est un entier sur 2 octets
elength est un entier sur 2 octets
eAddr_list est un entier
FIN
WsaData est une structure
//Version de la DLL WinSock
eVersion est un entier
//Version maximum de la DLL WinSock support
eMaxVersion est un entier
//Texte qui dcrit la version d'implmentation (taille :
WSADESCRIPTION_LEN+1%7)
szDescription est une chaîne fixe sur 257
//Informations sur le statut et la configuration (taille :
WSASYS_STATUS_LEN+19)
szStatus est une chaîne fixe de 129
//Version des fonctionnalités autorise pour compatibilit avec les
anciennes versions de WinSock infrieur 2
ecMAxSockets est un entier sur 2 octets sans signe
//Version des fonctionnalités autorise pour compatibilit avec les
anciennes versions de WinSock infrieur 1.1
ecMaxUdpDg est un entier sur 2 octets sans signe
//Pointeur sur un strcture (ignor partir de WinSock 2)
lpVendorInfo est un entier
FIN
//Nom de la dll WinSok
sNomDllWinSock est une chaîne="WS2_32.DLL"//"WSock32.DLL"
//INstance de la dll charge
eInstanceWinSock est un entier
//Cration d'une variable base sur la structure 'sockaddr'
stSockaddr est un sockaddr
//Cration d'une variable base sur la structure 'hostent'
sthostent est un hostent
//Cration d'une variable base sur la structure 'WsaData'
stWsaData est un WsaData
eVersionRequise est un entier =0x0202 //0x0202 pour version 2.0 (2
en min et en max)
//Constante retourne e cas d'chec de inet_addr
INADDR_NONE est un entier =0xffffffff
//entier qui contiendra le rsultat de la structure pointe par
'gethostbyname'
eptsthostent est un entier
epteAddr est un entier
//rsultat
sNomMachineDistante est une chaîne=""
sNom2MachineDistante est une chaîne=""

//récupération de l'adresse IP pass en paramtre
sAdresseIp=sParamAdresseIp

//Chargement d'une instance de la DLL
eInstanceWinSock = ChargeDLL(sNomDllWinSock)

SI eInstanceWinSock = 0 ALORS
sParamErreurEnRetour="Chargement de WinSok impossible. Vrifier que
TCP/IP est bien install."+RC+ErreurInfo()
RENVOYER ""
FIN

//Initialisation de Winsok
SI AppelDLL32(sNomDllWinSock,"WSAStartup",eVersionRequise,&stWsaData) <>
0 ALORS
sParamErreurEnRetour="Erreur"+RC+ErreurInfo()
SINON
//convertion de l'adresse IP au format attendu par la fonction
'gethostbyaddr'
stSockaddr:eAddr=AppelDLL32(sNomDllWinSock,"inet_addr",sAdresseIp)

// Vérification du rsultat
SI stSockaddr:eAddr = INADDR_NONE ALORS
//Adresse incorrect en numrique
//Addresse Texte ? -> Résolution de l'adresse
eptsthostent = AppelDLL32(sNomDllWinSock, "gethostbyname",
sAdresseIp)
SI eptsthostent = Null ALORS
sParamErreurEnRetour="L'adresse n'a pas pu tre
rsolue."+RC+ErreurInfo()
SINON
// Copie de la structure initialise par gethostbyname
Transfert(&sthostent, eptsthostent, Dimension(sthostent))
//rcupration du nom ICI
sNomMachineDistante=ChaîneRécupère
(sthostent:eName,crAdresseASCIIZ)
sNom2MachineDistante=ChaîneRécupère
(sthostent:eAliases,crAdresseASCIIZ)
//Note : sthostent:eAliases contient un alias du nom (un
deuxième nom)
FIN
SINON
eptsthostent = API(sNomDllWinSock,"gethostbyaddr",
&stSockaddr:eAddr,Dimension(stSockaddr:eAddr),2)
SI eptsthostent=Null ALORS
sNomMachineDistante="L'adresse n'a pas pu tre
rsolue."+RC+ErreurInfo()
SINON
// Copie de la structure initialise par gethostbyaddr
Transfert(&sthostent, eptsthostent, Dimension(sthostent))
//rcupration du nom ICI
sNomMachineDistante=ChaîneRécupère
(sthostent:eName,crAdresseASCIIZ)
sNom2MachineDistante=ChaîneRécupère
(sthostent:eAliases,crAdresseASCIIZ)
//Note : sthostent:eAliases contient un alias du nom (un
deuxième nom)
FIN
FIN
FIN

//décharge Winsock
DéchargeDLL(eInstanceWinSock)

//2 noms ?
SI sNom2MachineDistante<>"" ALORS
//retourne les 2 noms
RENVOYER sNomMachineDistante+TAB+sNom2MachineDistante
SINON
//retourne le nom de la machine s'il a t trouvé
RENVOYER sNomMachineDistante
FIN




--
En esperant t'avoir aidé.
ted
Posted on September, 29 2004 - 11:20 AM
au lieu de : strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse
valide du réseau
utilise plutôt : strAdr est une chaîne asciiz sur 16 = "192.168.1.102" //
3*4+3 data + 1 pour le caract(0)
et le Caract(0) devient inutile car automatique !
De plus c'est recommandé d'utiliser ce type de chaîne pour tout ce qui
touche les appels aux DLL.


"Mathieu Kurth" <mkurth@difemax.com> a écrit dans le message de
news:41549634@news.pcsoft.fr...


Voici le code (attention il y a trois procedures au total séparées par des

//Début... et //Fin...

//Début du code bouton
hostent est une structure
h_name est un entier
h_addrtype est un entier sur 2 octets
h_length est un entier sur 2 octets
h_addr_list est un entier
FIN
iRetour est un entier
strNom est une chaîne
strAdr est une chaîne = "192.168.1.102"+Caract(0) //Adresse valide du

réseau
h_hostent est un hostent
iIdAdresse est un entier
iPointeur est un entier

SI init() ALORS
iIdAdresse = API("Ws2_32","inet_addr",strAdr)
SI iIdAdresse <> -1 ALORS
iPointeur =

API("Ws2_32","gethostbyaddr",&iIdAdresse,Dimension(iIdAdresse),2)
SI iPointeur <> 0 ALORS
Transfert(&h_hostent,iPointeur,Dimension(h_hostent))
strNom = ChaîneRécupère(h_hostent:h_name,crAdresseASCIIZ)
SINON
Erreur(ErreurInfo())
FIN
FIN
fininit()
FIN
//fin du code bouton

//début du code de la procédure init()
WSADATA est une structure
wVersion est un entier sur 2 octets //Type C : WORD
wHighVersion est un entier sur 2 octets //Type C : WORD
szDescription est un caractère //Type C : char
szSystemStatus est un caractère //Type C : char
iMaxSockets est un entier //Type unsigned short non retrouvé (entier est

le type le plus fréquent, mais à VERIFIER)
> iMaxUdpDg est un entier //Type unsigned short non retrouvé (entier est le
type le plus fréquent, mais à VERIFIER)
lpVendorInfo est un entier //Type C : pointeur sur char FAR
FIN
bRetour est un booléen
ws est un WSADATA
iRetour est un entier
iRetour = API("Ws2_32","WSAStartup",257,&ws)
SI iRetour = 0 ALORS
bRetour = Vrai
SINON
bRetour = Faux
FIN
RENVOYER bRetour
//fin procédure init()

//début code procédure fininti()
API("Ws2_32","WSACleanup")
//fin procedure fininit()


Le problème que j'ai c'est que la fonction api "gethostbyaddr" retourne un

pointeur <> 0 seulement si je met un point d'arrêt ou l'instruction STOP
avant l'appel de la fonction.


Mathieu
Posted on April, 14 2006 - 1:15 PM
Salut ted !

Ta procédure pour récupérer le hostname selon l'ip est génial et fonctionne niquel.

Maintenant, je voulais savoir si tu savais faire le contraire, c'est à dire récupérer l'ip selon le hostname, car moi jessaie de faire un procédure pour cela en m'appuyant sur le tienne, mais je n'y arrive pas.

Si tu pouvais me donner un coup de main ça m'arrangerait.

Merci d'avance