发信人: xuemeit() 
整理人: teleme(2000-12-06 17:46:49), 站内信件
 | 
 
 
【 在 flyddl (netflyer) 的大作中提到: 】
 : 在DELPHI中请问怎样得到WINDOWS的IP地址!!(什么函数或API)
 : 
 : 随便请问??
 : 
 :    .......
 得到本机IP地址?  
 How about using winsockets?
 This code is untested and ugly.
 program get_ip;
 uses
   winsock,sysutils;
 VAR
   ch : ARRAY[1..32] OF Char;
   i : Integer;
   WSData: TWSAData;
   MyHost: PHostEnt;
 begin
   IF WSAstartup(2,wsdata)<>0 THEN
     BEGIN
       Writeln('can''t start Winsock: Error ',WSAGetLastError);
       Halt(2);
     END;
   try
     IF getHostName(@ch[1],32)<>0 THEN
       BEGIN
         Writeln('getHostName failed');
         Halt(3);
       END;
   except
     Writeln('getHostName failed');
     halt(3);
   end;
   MyHost:=GetHostByName(@ch[1]);
   IF MyHost=NIL THEN
     BEGIN
       Writeln(GetHostName('+StrPas(@ch[1])+') failed : Error
 '+IntToStr(WSAGetLastError));
       Halt(4);
     END
   ELSE
     BEGIN
         Write('address ');
          FOR i:=1 TO 4 DO
             BEGIN
               Write(Ord(MyHost.h_addr^[i-1]));
               IF i<4 THEN
 then     write('.')
               ELSE
                 writeln;
             END;
    END;
 end.
 
 
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.249.181]
  | 
 
 
 |