Как узнать интернет имя и 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();
}
|