Nome do Computador e Usuário em Delphi

Nesse tutorial vou explicar como conseguir o nome do computador e o usuário.

Para esse tutorial eu recomendo pesquisar depois sobre o uso de API (Interface de Programação de Aplicações)do Windows: http://pt.wikipedia.org/wiki/API.

Com as APIs você não ficará reinventando a roda.

Vamos usar duas funções da API:

GETCOMPUTERNAME e GETUSERNAME.

Vamos criar duas funções para facilitar o trabalho das APIs.

Nome do Computador

 function NomedoComputador: String;  
 var  
  buffer: Array[0..255] of char;  
  size: DWord;  
 begin  
  size := 256;  
  if GetComputerName (buffer,size) then  
   Result := Buffer  
  else  
   Result := '';  
 end;  

Nome do Usuário

 function NomedoUsuario: String;  
 var  
  UserName: String;  
  UserNameLen: DWord;  
 begin  
  UserNameLen := 255;  
  SetLength (UserName, UserNameLen);  
  if GetUserName (PChar(UserName), UserNameLen) Then  
   Result := Copy (UserName,1,UserNameLen - 1)  
  else  
   Result := 'Desconhecido';  
 end;  

No programa completo:

 unit Unit1;  
 interface  
 uses  
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  Dialogs, StdCtrls;  
 type  
  TForm1 = class(TForm)  
   LblComputador: TLabel;  
   LblUsuario: TLabel;  
   procedure FormCreate(Sender: TObject);  
  private  
   { Private declarations }  
  public  
   { Public declarations }  
  end;  
 var  
  Form1: TForm1;  
 implementation  
 {$R *.dfm}  
 function NomedoComputador: String;  
 var  
  buffer: Array[0..255] of char;  
  size: DWord;  
 begin  
  size := 256;  
  if GetComputerName (buffer,size) then  
   Result := Buffer  
  else  
   Result := '';  
 end;  
 function NomedoUsuario: String;  
 var  
  UserName: String;  
  UserNameLen: DWord;  
 begin  
  UserNameLen := 255;  
  SetLength (UserName, UserNameLen);  
  if GetUserName (PChar(UserName), UserNameLen) Then  
   Result := Copy (UserName,1,UserNameLen - 1)  
  else  
   Result := 'Desconhecido';  
 end;  
 procedure TForm1.FormCreate(Sender: TObject);  
 begin  
  LblComputador.Caption := NomedoComputador;  
  LblUsuario.Caption := NomedoUsuario;  
 end;  
 end.  

2 comentários:

  1. Muito bom o post..
    Me ajudou muito

    ResponderExcluir
  2. Muito bom. Simples, pratico e didatico!

    ResponderExcluir