发信人: fangwd() 
整理人: teleme(2000-12-06 19:27:58), 站内信件
 | 
 
 
【 在 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]
  | 
 
 
 |