Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать IP-адрес компа в локалке по его сетевому имени? [D7, WinXP]


Zion ©   (2005-03-22 00:03:00) 

subject


Zion   (2005-03-25 14:29:00) [1]

Спасибо! :)


Ozone   (2005-03-25 05:24:00) [2]

uses WinSock


Zion   (2005-03-24 21:52:00) [3]

а главное что GetHostByName тоже undeclarated identifier! что делать? пробовал и на D5 и на D7 - не работает(((


Zion   (2005-03-24 21:31:00) [4]

а где находятся TWSAData и PHostEnt? пишет undeclarated identifier...


Alex Konshin   (2005-03-23 07:38:00) [5]

Вопрос был поставлен ясно и понятно ответ на него дал Ozone, а я пример привел использования.... зачем разглагольствовать?
Ваши ответы неверны, если понимать вопрос буквально.
"Сетевое имя компьютера" в Windows это отнюдь не DNS имя. Хотя бы потому, что оно имеет смысл даже тогда, когда TCP/IP не установлен.  Более того, они могут и не совпадать.


TankMan   (2005-03-23 06:49:00) [6]

>>Alex Konshin
Это вы к чем вообще сказали?
Вопрос был поставлен ясно и понятно ответ на него дал Ozone, а я пример привел использования.... зачем разглагольствовать?


Alex Konshin   (2005-03-23 00:07:00) [7]

О каком сетевом имени идет речь? Если о netbios-имени ("имени компьютера"), то по-моему оно напрямую не зависит от DNS-имени (хотя обычно совпадают).
Я лично не знаю ответа на такой вопрос. Но это точно не то, что здесь написали ранее.
Хотя нет, какой-то ответ я знаю. Если в локальной сети домен контроллер - ActiveDirectory сервер, то оттуда можно вытащить такую информацию.


ZioN   (2005-03-22 22:22:00) [8]

спасибо большое!!! Щас проверю, как работает...


TankMan   (2005-03-22 07:35:00) [9]

function GetIPFromName(DNS: string): string;
const
ERR_HOST      = 'Can not get host information.';
RES_UNKNOWN   = 'Unknown';
ERR_WSA       = 'Can not initialize WSA.';
WSA_TYPE      = $101; //$202;
var
WSA   : TWSAData;
Host  : PHostEnt;
Err   : Integer;
begin
Result := RES_UNKNOWN;
Err := WSAStartup(WSA_TYPE, WSA);
if Err <> 0 then
begin
  MessageDlg(ERR_WSA, mtError, [mbOK], 0);
  Exit;
end;
Host := GetHostByName(PChar(DNS));
if Assigned(Host.h_addr_list) then
  Result :=
    inet_ntoa(PInAddr(Host.h_addr_list^)^)
else
  MessageDlg(ERR_HOST, mtError, [mbOK], 0);
WSACleanup;
end;


Ozone   (2005-03-22 05:20:00) [10]

GetHostByName


Наверх

Титульная страница Поиск, карта сайта Написать письмо