1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AfficheLocalIP() ;
}
void TForm1::AfficheLocalIP(void)
{
struct sockaddr_in sin ;
struct hostent * phe ;
char FAR buffer[64] ;
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1, 1);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
//cerr << "Impossible de trouver winsock.dll" ;
Edit1->Text = "Impossible de trouver winsock.dll";
}
gethostname(buffer, sizeof(buffer)) ;
phe = gethostbyname(buffer) ;
if(phe==NULL)
{
//cerr << "Erreur : pointeur nul";
Edit1->Text = "Erreur : pointeur nul";
system("PAUSE");
exit(1) ;
}
memcpy(&sin.sin_addr.s_addr, phe->h_addr, phe->h_length);
//cout << "Hote : " << buffer << endl ;
Edit1->Text = buffer;
//cout << "Adresse locale : " << inet_ntoa(sin.sin_addr)<< endl ;
Edit1->Text = Edit1->Text + " " + AnsiString(inet_ntoa(sin.sin_addr));
WSACleanup() ;
} |
Partager