|
- Odczytywanie własnego numeru IP.
Skorzystaj z poniższej funkcji:
AnsiString TForm1::GetLocalIP(void)
{
AnsiString retVal;
WSAData wsaData;
//inicjalizacja Windows Sockets DLL, zwraca 0 jeżeli sukces
if(!WSAStartup(MAKEWORD(1,1),&wsaData))
{
char ac[80];
//wpisuje do ac nazwę hosta
if(gethostname(ac,sizeof(ac)) != SOCKET_ERROR)
{
hostent *phe = gethostbyname(ac); //pobiera informację o hoście
if(phe)
{
in_addr addr;
for(int i = 0; phe->h_addr_list[i] != 0; ++i)
{
//kopiuje adres do zmiennej addr
CopyMemory(&addr, phe->h_addr_list[i], sizeof(in_addr));
if(i > 0)
AppendStr(retVal, ".");
//konwersja adresu do "normalej" postaci
AppendStr(retVal, inet_ntoa(addr));
}
}
}
}
WSACleanup();
return retVal;
}
//-------------------------------------------------
//w nagłówku:
//-------------------------------------------------
#include <winsock.h>
public:
AnsiString GetLocalIP(void);
|