ComputerBooks.ru - Электронные книги, самоучители.

 
Электронные кники доступные для скачивания
На главную Добавить в избранное Форма отправки почты Если книг читать не будешь - скоро грамоту забудешь!

14. FAQ o Win API

Q> Как узнать ip адрес(а) машины (в текстовом виде)?
A> Кусок исходника от плагина к BackOrifice:

void MachineIP(char *result)
{
      WSADATA WSAData;

      WSAStartup(MAKEWORD(1,1), &WSAData);

 char dot[6];
 int iResult;
 int i = 0;
 u_long *ppIpNO;
 u_long *pIpNO;
 HOSTENT FAR *lphostent;
 u_long ipHO;
 unsigned char binIp[4];
 int iterations = 0;

 //Get local host name and crudely validate
 char szHostName[100];
 *result = 0;

 iResult = gethostname(szHostName, sizeof(szHostName));
// printf("%d %s",iResult,szHostName);
 if ((iResult != 0) || (lstrcmp(szHostName, "")==0))
  return;

 //Lok up this host info via supplied name
 lphostent = gethostbyname(szHostName);
 if (lphostent == NULL)
  return;
 //Retreive first entry (might have multiple connects)
 do
 {
  iterations++;
  ppIpNO = (u_long *)lphostent->h_addr_list;
  if (ppIpNO+i == NULL)
   return;
  pIpNO = ((u_long *)*(ppIpNO+i));
  if (pIpNO == NULL)
   return;

 //convert back to host order, since SOCKADDR_IN expects that
  ipHO = ntohl(*pIpNO);

  binIp[0] = (BYTE)((ipHO & 0xff000000) >> 24);
  itoa(binIp[0], dot, 10);
  strcat(result,dot);
  binIp[1] = (BYTE)((ipHO & 0x00ff0000) >> 16);
  itoa(binIp[1], dot, 10);
  strcat(result, "."); strcat(result, dot);
  binIp[2] = (BYTE)((ipHO & 0x0000ff00) >> 8);
  itoa(binIp[2], dot, 10);
  strcat(result, "."); strcat(result, dot);
  binIp[3] = (BYTE)(ipHO & 0x000000ff);
  itoa(binIp[3], dot, 10);
  strcat(result,"."); strcat(result, dot);
  strcat(result,"\r\n");
  i++;
 } while ((pIpNO != NULL) && (iterations < 6));
 WSACleanup();
      PostQuitMessage(0);
 return;
}

2000(c)

Электронные Книги по компьютерным программам
На правах рекламы:
-->

Для добавления страницы электронной книги в избранное нажмине Ctrl+D

Книги | Статьи | Скачать

Правовая информация   

  © ComputerBooks.ru,
  При копировании материалов со страницы обязательно разместите ссылку на источник.