Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

IP-адрес по имени хоста   Найти похожие ветки 

 
kalishenko stas   (2002-11-20 10:53) [0]

Возник вопрос. Имена машин в рабочей группе я получил. А как получить их IP-адреса (по hostname)? У кого-нибудь есть рабочие исходники?


 
Wonder ©   (2002-11-20 11:47) [1]

Дело в том, что то, что ты получил - это netbios-name

А netbios-имя и hostname - разные вестчи.

Но, для твоей ситуации, вызов gethostbyname() с netbios-именем, я думаю, поможет :)


 
bak ©   (2002-11-20 11:54) [2]

можеть так (нарыл в инете :)

Описывается функция, которая показывает, как вычислить IP адрес компьютера в интернете по его доменному имени.

Совместимость: Delphi 3.x (или выше)

Объявляем Winsock, для использования в функции
............
function HostToIP(Name: string; var Ip: string): Boolean;
var
wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
if Assigned (hostEnt^.h_addr_list) then begin
addr := hostEnt^.h_addr_list^;
if Assigned (addr) then begin
IP := Format ("%d.%d.%d.%d", [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else begin
Result := False;
end;
finally
WSACleanup;
end
end;
................................

Вы можете разметстить на форме EditBox, Кнопку и Label и добавить к кнопке следующий обработчик события OnClick:

procedure TForm1.Button1Click(Sender: TObject);
var
IP: string;
begin
if HostToIp(Edit1.Text, IP) then Label1.Caption := IP;
end;




Страницы: 1 вся ветка

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-62831
Nimda
2002-12-26 07:53
2003.01.20
Matrix


7-62882
Alexandr
2002-11-06 10:04
2003.01.20
LPT порт+Delphi+Windows2000


3-62422
DPetrovich
2002-12-25 15:57
2003.01.20
Асинхронное выполнение


4-62899
krammer
2002-12-01 19:37
2003.01.20
Как узнать дату создания, изменения файла?


6-62699
kalishenko stas
2002-11-19 17:45
2003.01.20
Запуск любого приложения на удал. клиенте