发信人: 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]
|
|