uses 行上加上shellapi了,但还是提示PITEMIDLIST和BROWSEINFO等运行时都说未标识。 另外请问FORM上放什么控件?

解决方案 »

  1.   

    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;
      

  2.   

    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;
      

  3.   

    我这里没有delphi
    如果不行,你再试一试shlobj
      

  4.   

    多谢 naughtyboy(淘气男孩)和 cg1120(代码最优化-§雨后看见彩虹……§) ;加上shlobj搞定