Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ip-адрес [D6, WinXP]


AlexDeQuick ©   (2004-03-22 18:14:00) 

Подскажите , как в Windows XP определить IP-адрес.


kILL   (2004-03-24 11:26:00) [1]

В реестре ветка есть с указанием локального ипа


AlexDeQuick   (2004-03-23 19:30:00) [2]

Спасибо всем!!!


Колян_К   (2004-03-23 15:23:00) [3]

FAQ читай!


Rouse_   (2004-03-23 15:19:00) [4]

> [5] Ozone ©   (23.03.04 14:47)
А с какой стати он даст нужный нам IP?

вот к примеру несколько модифицируем код:

procedure TForm1.Button1Click(Sender: TObject);
var
 WSAData : TWSAData;
 p : PHostEnt;
 Name : array [0..$FF] of Char;
begin
 WSAStartup($0101, WSAData);
 GetHostName(name, $FF);
 p := GetHostByName(Name);
 while (p.h_addr_list^ <> nil) do
 begin
   Memo1.Lines.Add(inet_ntoa(PInAddr(p.h_addr_list^)^));
   Inc(p.h_addr_list);
 end;
 WSACleanup;
end;


У меня результатом 3 абсолютно разных IP адреса...


Ozone   (2004-03-23 14:47:00) [5]

uses winsock;

function GetLocalIP: String;
const
  WSVer = $101;
var
 wsaData: TWSAData;
 P: PHostEnt;
 Buf: array [0..127] of Char;
begin
 Result := '';
 if WSAStartup(WSVer, wsaData) = 0 then begin
   if GetHostName(@Buf, 128) = 0 then begin
     P := GetHostByName(@Buf);
     if P <> nil then Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
   end;
   WSACleanup;
 end;
end;


Verg   (2004-03-23 14:23:00) [6]

Кроме ф-ции GetIpAddrTable из уже названной IpHlpAPI.dll,
адреса можно получить через ф-цию WSAIoctl с командой
SIO_ADDRESS_LIST_QUERY из winsock2


AlexDeQuick   (2004-03-23 11:00:00) [7]

For Verg : компа своего!


Verg   (2004-03-22 21:05:00) [8]

Чей?


Ozone   (2004-03-22 20:51:00) [9]

IpHlpAPI


Наверх

Титульная страница Поиск, карта сайта Написать письмо