WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Помогите ламеру!

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Помогите ламеру!
AcTpoyM опубликован 13-03-2001 08:32 MSK   Click Here to See the Profile for AcTpoyM   Click Here to Email AcTpoyM  
Привет всем кто оьважился мне помочь!
Моя проблема заключается в неопытности: не могли бы Вы рассказать, как получить (т.е. какой функцией) собственный IP, а затем вывести его через SetDlgItemText.
Примечание: без MFC, нужна совместимость с Visual C++.
Елси не лень - вставьте кусочек кода :)) буду очень благодарен!
OlegN опубликован 14-03-2001 11:10 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
WSADATA wsaData;
WSAStartup(MAKEWORD (1,1),&wsaData);

char HostName[1024];
DWORD m_HostIP = 0;
if(!gethostname(HostName, 1024))
{
if(LPHOSTENT lphost = gethostbyname(HostName))
m_HostIP = ((LPIN_ADDR)lphost->h_addr)->s_addr;
}

Demo_S опубликован 15-03-2001 03:41 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
Развивая ответ Олега,
если тебе нужно строковое представление IP адреса например "195.124.13.1"
то используй тот же код +
szIPAddr=char[17];
strcpy(szIPAddr,inet_ntoa(*((in_addr*)lpHostEnt->h_addr_list[0])));
Это работает наверняка.

Или
strcpy(szIPAddr,inet_ntoa(*((in_addr*)lpHostEnt->h_addr_list)));

Если нужны числа, в смысле по байтам:
a1=195,a2=124,a3=13,a4=1 то
в последнюю строку, предложенную Олегом поменяй на
a1=((LPIN_ADDR)lphost->h_addr)->s_b1
a2=((LPIN_ADDR)lphost->h_addr)->s_b2
a3=((LPIN_ADDR)lphost->h_addr)->s_b3
a4=((LPIN_ADDR)lphost->h_addr)->s_b4

или
a1=lpHostEnt->h_addr_list[0]
a2=lpHostEnt->h_addr_list[1]
a3=lpHostEnt->h_addr_list[2]
a4=lpHostEnt->h_addr_list[3]

Demo_S опубликован 15-03-2001 03:45 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
блин,не заметил, или в моем коде вместо lpHostEnt везде пиши lphost
или у Олега в коде вместо lphost пиши lpHostEnt
AcTpoyM опубликован 21-03-2001 08:35 MSK     Click Here to See the Profile for AcTpoyM  Click Here to Email AcTpoyM     
Ну что же!
Спасибо вам всем большое!

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.