Olá Pessoal,


Segue abaixo alguma funções muito úteis em delphi para extrair informações do ambiente onde nossa aplicação esta sendo executada. Entre outras funções temos uma para retornar o nome do computador, alterar o nome do computador na rede, entre outras. Observe a lista de fucções abaixo:


Retorna o nome do computador na rede
function SysComputerName: string;
var
  I: DWord;
begin
  I := MAX_COMPUTERNAME_LENGTH + 1;
  SetLength(Result, I);
  Windows.GetComputerName(PChar(Result), I);
  Result := string(PChar(Result));
end;

Retorna o diretório de instalação do Windows
function SysWinDir: string;
begin
  SetLength(Result, MAX_PATH);
  Windows.GetWindowsDirectory(PChar(Result), MAX_PATH);
  Result := string(PChar(Result));
end;

Retorna o diretório System do Windows
function SysSystemDir: string;
begin
  SetLength(Result, MAX_PATH);
  if GetSystemDirectory(PChar(Result), MAX_PATH) > 0 then
  Result := string(PChar(Result))
  else
  Result := '';
end;


Retorna o diretório Temp do Windows
function SysTempDir: string;
begin
  SetLength(Result, MAX_PATH);
  if GetTempPath(MAX_PATH, PChar(Result)) > 0 then
  Result := string(PChar(Result))
  else
  Result := '';
end;

Retorna o nome do usuário logado no Windows
function SysUserName: string;
var
  I: DWord;
begin
  I := 255;
  SetLength(Result, I);
  Windows.GetUserName(PChar(Result), I);
  Result := string(PChar(Result));
end;
 
Retorna uma string contendo a versão do Windows
function SysVersionStr: string;
var
  Ver: _OSVERSIONINFOA;
begin
  if SysVersion(Ver) then
  Result := IntToStr(Ver.dwMajorVersion) + '.' +
  IntToStr(Ver.dwMinorVersion)
  else
  Result := '';
end;


Estas funções são úteis quando vamos criar instaladores dentro do próprio Delphi ou quando queremos trabalhar com arquivos padrão do SO.


Abraços e até a próxima.