Внешний вид сайта:

Как получить сетевое и доменное имя компьютера

Этот совет показывает, как получить имя сетевого компьютера и доменное имя (рабочей группы, если компьютер не под доменом).

Получаем имя компьютера и рабочей группы

const
  NERR_Success = 0;

function NetWkstaGetInfo(ServerName: LPWSTR; Level: DWORD;
  BufPtr: Pointer): Longint; stdcall;
  external 'netapi32.dll' Name 'NetWkstaGetInfo';

type
  WKSTA_INFO_100 = record
    wki100_platform_id: DWORD;
    wki100_computername: LPWSTR;
    wki100_langroup: LPWSTR;
    wki100_ver_major: DWORD;
    wki100_ver_minor: DWORD;
  end;
  LPWKSTA_INFO_100 = ^WKSTA_INFO_100;

  _USER_INFO_0 = record
    usri0_name: LPWSTR;
  end;

function GetNetParam(AParam: Integer): string;
var
  PBuf: LPWKSTA_INFO_100;
  Res: LongInt;
begin
  Result := '';
  Res := NetWkstaGetInfo(nil, 100, @PBuf);
  if Res = NERR_Success then
  begin
    case AParam of
      0: Result := string(PBuf^.wki100_computername);
      1: Result := string(PBuf^.wki100_langroup);
    end;
 end;
end;

function GetComputerName: string;
begin
  Result := GetNetParam(0);
end;

function GetDomainName: string;
begin
  Result := GetNetParam(1);
end;

Вызывайте GetComputerName и GetDomainName для отображения требуемого имени.

Смотрите NetWkstaGetInfo в справке Window или MSDN.

Автор: Peter Johnson

Комментарии

Нет комментариев. Ваш будет первым!