среда, 2 октября 2019 г.

Как узнать свой внутренний IP адрес

Узнать свой внутренний  (частный) IP компьютера, можно воспользовавшись следующим способом:

1) Создаем новый проект и кидаем на форму кнопку.

2) В раздел Uses листинга добавляем WinSock, а в разделе private пропишем функцию, function GetLocalIP: String; которая будет извлекать наш внутренний IP.

3) Выделяем нашу функцию, жмем Ctrl+Shift+C и в созданном шаблоне описываем ее следующим образом:

function TForm1.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;

4) Вызывать данную функцию будем нажатием кнопки Button:

procedure TForm1.Button1Click(Sender: TObject);

begin
ShowMessage(GetLocalIP);
end;

Данный код взят очень давно с какого то из форумов и работает великолепно по сей день.




Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.