如题

解决方案 »

  1.   

    //**ComputerName *************************************
    var
       CNameBuffer : PChar;
      fl_loaded : Boolean;
      CLen : ^DWord;begin    GetMem(CNameBuffer,255);
        New(CLen);
        CLen^:= 255;    fl_loaded := GetComputerName(CNameBuffer,CLen^);    if fl_loaded then
          ComputerName := StrPas(CNameBuffer)
        else
          ComputerName := 'Unkown';    FreeMem(CNameBuffer,255);
        Dispose(CLen);end;
    //**IpAddress********
    function GetIPFromName(Name: string): string;
    var
      WSAData: TWSAData;
      HostEnt: PHostEnt;
    begin
      WSAStartup(2, WSAData);
      HostEnt := gethostbyname(PChar(Name));
      with HostEnt^ do
        Result := Format('%d.%d.%d.%d', [Byte(h_addr^[0]),
          Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
      WSACleanup;
    end; 
    //****WorkGroup*****************
    function GetNetWorkgroup : string;
    var
      Reg : TRegistry;
    begin
      Reg := TRegistry.create;
      Result := '(n/a)';
      with Reg do
      try
         RootKey := HKEY_LOCAL_MACHINE;
         if OpenKey('System\CurrentControlSet\Services\VxD\VNETSUP', 
            false) then
            Result := ReadString('Workgroup');
      finally
         CloseKey;
         free;
      end;
    end;
      

  2.   

    GetComputerName
    得到IP和工作组都可以通过访问注册表。
      

  3.   

    GetComputerName
    GetHostName :Ip
      

  4.   

    win2000的IP地址的记录方法:到注册表中查找HKEY_LOCAL_MACHINE下的,
    SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards1\ServiceName的值 (NetworkCards1可能应该是NetworkCards2,3,等,不同的机器有不同的表示)赋值给ServiceBuf 然后再找
    'SYSTEM\CurrentControlSet\Services\Tcpip\parameters\Interfaces\' + ServiceBuf
    在这个键值下有SubnetMask,IPAddress 等所有的值,你所要的东东在这里你都看得懂的!