怎样根据对方的IP地址获取其机器名?
谢谢指教!!!
谢谢指教!!!
解决方案 »
- DataGrid如何实现同时滚动
- 调用Oracle存储过程返回参数的问题
- 我是为了实现拖拽操作,当我拖到目录对应的窗口后,一切ok,当我拖到目录时,就会出错,请问可能是什么原因?谢谢
- c/s转b/s的问题
- 求ODAC-TOraStoredProc返回带参数的游标的代码。
- dbgrid的焦点问题 送上500分 (:请各位大虾帮忙
- 三层结构中,客户端调用ClientDataSet.applyUpadte(-1)提交数据时,系统提示出错,求助,一定有分!!!!!!!!!!!!!!!
- 請問 Delphi 如何拋出例外呢?
- 请问哪里有object pascal的教程下载
- 使用quickreport开发时的一个问题
- 关于下拉列表框的问题 (在线等待)
- 哪里有中文版本的FastReport下载下载下载 !
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt<>nil then
begin
result:=StrPas(Hostent^.h_name)
end
else
begin
result:='';
end;
end;
测试时请在在线状态。测试代码:
var
Name: string;
begin
Name := InputBox('输入对方主机IP', '主机IP地址:', '');
showmessage(IpAddrToName(Name));end;
//uses winsock; 通过IP地址得到机器名
function iptoname(ip:string):string;
var
WSAData:TWSAData;
p:PHostEnt;
InetAddr:dword;
begin
result:='''';
WSAStartup(2, WSAData);
InetAddr:= inet_addr(PChar(IP));
try
p:=GetHostByAddr(@InetAddr, Length(IP), PF_Inet);
if p<> nil then result:=p^.h_name;
except
result:='''';
end;
end;