как получить имя без твоего кода в Windows например, через WMI или через стандартные средства
Стандартные средства Windows - это как-раз таки API. В данном случае API библиотеки Winsock.
begin
if WSAStartup($101,lwsaData) = 0 then begin // инициализация WinSock Api
addr := inet_addr(PChar(ToString(dt))); // преобразование строки адреса в 4-х байтовый IP
e := gethostbyaddr(@addr,4,AF_INET); // запрос информации о хосте с указанным IP
if Assigned(e) then // если хост с таким IP найден
_hi_OnEvent(onHostName, string(e.h_name)); // вызываем событие с именем хоста
WSACleanUp; // завершение работы с Winsock
end;
end;
if WSAStartup($101,lwsaData) = 0 then begin // инициализация WinSock Api
addr := inet_addr(PChar(ToString(dt))); // преобразование строки адреса в 4-х байтовый IP
e := gethostbyaddr(@addr,4,AF_INET); // запрос информации о хосте с указанным IP
if Assigned(e) then // если хост с таким IP найден
_hi_OnEvent(onHostName, string(e.h_name)); // вызываем событие с именем хоста
WSACleanUp; // завершение работы с Winsock
end;
end;
Используемые функции библиотеки Winsock: WSAStartup,WSACleanUp,inet_addr, и наконец, функция gethostbyaddr, ради которой всё это и городилось
