Задача
Получение IP адреса компьютераРешение
uses Winsock;
function LocalIP: string;
type
TaPInAddr = array [0 .. 10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array [0 .. 63] of Ansichar;
I: integer;
GInitData: TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(Buffer);
if phe = nil then
Exit;
pptr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do
begin
Result := Result + ' ' + StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
Комментарий
Функция возвращает список IP адресов активных соединений (может быть активным несколько соединений, у каждого соединения будет свой IP-адрес).
Верификация
Delphi XE5, Win7
Комментариев нет:
Отправить комментарий