Получение IP-адреса

Советы » TCP/IP » Получение IP-адреса

От автора:

IP можно получить, заUSE'ав компонент TClientSocket или TServerSocket, но это значительно утяжелит ваш Exe'шник. Я предлагаю другой, более рациональный способ

Host: TLabel;
IPaddr: TLabel;
...
uses

Winsock; ... procedure

TForm1.FormCreate(Sender: TObject); var

wVerReq: WORD; wsaData: TWSAData; i: pchar; h: PHostEnt; c: array

[0..128] of

char; begin

wVerReq := MAKEWORD(1, 1); WSAStartup(wVerReq, wsaData); {Получаем хост (имя) компа} GetHostName(@c, 128); h := GetHostByName(@c); Host.Caption := h^.h_Name; //Host отображает хост(имя) компьютера {Достаем IP} i := iNet_ntoa(PInAddr(h^.h_addr_list^)^); IPaddr.Caption := i; //Теперь IPaddr отображает IP-адрес WSACleanup; end

;

 
Если какие баги лезут, присылайте ваш проект (без Exe) нам с описанием вашей системы, Delphi и конфигурации. Может у вас вообще баги с Windows Sockets.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com