通过地址取得计算机名的问题,有兴趣的请过来看。
Marl 2003-10-17 09:16:09 我的代码如下。(我查了一下,有和我编写代码差不多的问题)。
问题是这个函数代码在实际运行是不对的,我也不知道为什么。
请看我的错误注解。 附代码如下:
function TFSock.GetComputerNameByIPAddr(IPAddr: string): string;
var
strComName:string;
pHE: PHostEnt;
sAddr:TSockAddr;
Err:DWord;
begin
sAddr.sin_addr.S_addr := inet_addr(PChar(IPAddr));
pHE := nil;
pHE := GetHostByAddr(@sAddr.sin_addr.S_addr,sizeof(sAddr.sin_addr.S_addr),PF_INET);
Err := WSAGetLastError;//Err = 11004--->错误的代码
if pHE <> nil then
StrComName := StrPas(pChar(pHE^.h_name));
Result := strComName;
end;
当然,要用这个函数 先加载 sockdll.