Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Внизip-адрес Найти похожие ветки
← →
AlexDeQuick (2004-03-22 18:14) [0]Подскажите , как в Windows XP определить IP-адрес.
← →
Ozone © (2004-03-22 20:51) [1]IpHlpAPI
← →
Verg © (2004-03-22 21:05) [2]Чей?
← →
AlexDeQuick © (2004-03-23 11:00) [3]For Verg : компа своего!
← →
Verg © (2004-03-23 14:23) [4]Кроме ф-ции GetIpAddrTable из уже названной IpHlpAPI.dll,
адреса можно получить через ф-цию WSAIoctl с командой
SIO_ADDRESS_LIST_QUERY из winsock2
← →
Ozone © (2004-03-23 14:47) [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;
← →
Rouse_ © (2004-03-23 15:19) [6]> [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 адреса...
← →
Колян_К © (2004-03-23 15:23) [7]FAQ читай!
← →
AlexDeQuick © (2004-03-23 19:30) [8]Спасибо всем!!!
← →
kILL (2004-03-24 11:26) [9]В реестре ветка есть с указанием локального ипа
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c