精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Delphi 网络编程>>Re: 如何取得局域网内的计算机名?

主题:Re: 如何取得局域网内的计算机名?
发信人: fangwd@GZ()
整理人: teleme(2001-03-31 01:04:06), 站内信件

标  题: Re: 如何取得局域网内的计算机名?
发信站: 网易虚拟社区 (Fri Jul 14 10:42:05 2000), 站内信件

【 在 cheerfulboy (劍客) 的大作中提到: 】
: 使用WnetOpenEnum(),WnetEnumResource(),
: WnetCloseEnum()我只取得了局域网内的工作组的名字,
: 有什么办法来再深入一层,取得工作组内的计算机名?

Function GetNameByIP(MIP:string; var Name:string):boolean;
var
  PHt:PHostEnt;
  WSData: TWSAData;
  i:Word;
  j:integer;
  k:u_long;
begin
  result:=false;
  i:=MAKEWORD(1,1);
  if WSAStartup(i,WSData)<>0 then exit;
  k:=inet_addr(PChar(MIP));
  PHt:=gethostbyaddr(@k,4,PF_INET);
  if PHt=nil then begin
     j:=WSAGetLastError;
     Name:='Error:'+inttostr(j-WSABASEERR);
  end else begin
     Name:=PHt.h_name;
     result:=true;
  end;
  WSACleanup;
end;

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.105.63.213]

[关闭][返回]