Delphi: ¿Cómo obtener el nombre de red de una máquina?

Obteniendo el nombre de red de una máquina

Copyright © 2000 Ernesto De Spirito

SMImport - Componentes VCL nativos para importar datos

GetComputerName

Si queremos conocer el nombre que identifica la máquina que ejecuta nuestro programa en una red, podemos apelar a la función API de Windows GetComputerName que nos devuelve el nombre NetBIOS de la computadora local. La siguiente función encapsula la llamada a esta API para devolver el nombre de la máquina como una cadena.

uses Windows;

function GetComputerNetName: string;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetComputerName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;

Los usuarios de Windows 2000 pueden usar la función API GetComputerNameEx que además del nombre NetBIOS permite obtener diversas variantes de nombres DNS.

Llamada de ejemplo

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(GetComputerNetName);
end;
JfControls Library - para Delphi y C++ Builder