Как узнать интернет имя и IP адрес
локального компьютера
Компилятор: C++ Builder
Для этого можно воспользоваться компонентом TCP.
Поместите на форму компонент TCP из закладки internet
и используйте следующие его члены:
Memo1->Lines->Add(TCP1->LocalHostName);
Memo1->Lines->Add(TCP1->LocalIp);
Если Вы не хотите использовать компонент TCP, то
следующий пример показывает как получить нужную
нам информацию напрямую из винсока:
#include <winsock.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
hostent *P;
char s[128];
in_addr in;
char *P2;
gethostname(s, 128);
P = gethostbyname(s);
Memo1->Lines->Add(P->h_name);
in.S_un.S_un_b.s_b1 = P->h_addr_list[0][0];
in.S_un.S_un_b.s_b2 = P->h_addr_list[0][1];
in.S_un.S_un_b.s_b3 = P->h_addr_list[0][2];
in.S_un.S_un_b.s_b4 = P->h_addr_list[0][3];
P2 = inet_ntoa(in);
Memo1->Lines->Add(P2);
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
WORD wVersionRequested;
WSADATA WSAData;
wVersionRequested = MAKEWORD(1,1);
WSAStartup(wVersionRequested,&WSAData);
}
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
WSACleanup();
}
|