Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Obter nome do computador e do usuário logado programando em Delphi

Imprimir
Avaliação do Usuário: / 4
PiorMelhor 

 

Ter as informações de usuário logado e nome do computador pode facilitar muito a vida do desenvolvedor na hora de pensar em métodos para manter uma aplicação segura. Também ajuda na hora de facilitar a vida do usuário com a infindável  quantidade de usuários e senhas que é preciso se lembrar hoje em dia.

Com essas informações você pode garantir senhas seguras para que o usuário ingresse no computador através de uma rede e um controlador de domínios e para as aplicações dispensar a utilização de usuário e senha a cada vez que o usuário executa-a. Detectando o nome do usuário a aplicação pode encarregar-se de disponibilizar apenas o que lhe permitido sem a necessidade de digitação de uma senha diferente da que foi entrada no logon do sistema operacional, por exemplo.

Essa restrição pode ainda incluir o nome do computador permitindo que o usuário seja atrelado ao seu equipamento, podendo usar o sistema apenas da máquina para qual foi nomeado. Mas isso não garante segurança, já que o nome do computador pode ser alterado por qualquer usuário com privilégios para tal, mas pode ajudar a programar algum controle extra.

Outra ideia pode ser executar um programa na inicialização do sistema que crie um log, talvez em banco de dados, de qual usuário usa qual computador com detalhes de data e hora.

 

Construindo:

 

1. Inicie um novo projeto;

2. No novo formulário inclua quatro TLabel e um TButton;

a. Para o Label1 ajuste a propriedade CAPTION para “Usuário:”;

b. Para o Label2 ajuste a propriedade CAPTION para “Computador:”;

c. Para o Button1 ajuste a propriedade CAPTION para “Pegar”;

 

 

3. Clique duas vezes sobre o botão “Pegar” e declare as seguintes variáveis para a PROCEDURE Button1Click:

 

var
 u, c: array[0..127] of Char;
 sz: dword;

 

4. Agora digite o seguinte código no corpo da PROCEDURE:

 

sz := SizeOf(u);
GetUserName(u, sz);
sz := SizeOf(c);
GetComputerName(c, sz);
Label3.Caption := u;
Label4.Caption := c;

 

Entendendo o código:

 

As variáveis u e c são cadeias de caracteres de 127 bytes, é necessário que sejam declaras assim pois as funções onde serão usadas aceitas apenas parâmetros do tipo CHAR. A variável sz é do tipo dWord, pois receberá o tamanho das variáveis u e c, na linha abaixo:

 

sz := SizeOf(u)

 

Para as funções GetUserName, que obtém o nome do usuário logado e GetComputerName que obtém o nome do computador são passadas como parâmetro as variáveis u e c, repesctivamente, juntamente com o tamanho delas, após executada as funções o retorno de dados ocorrerá nessas variáveis.

 

Executando:

 

Execute seu projeto e clique no botão “Pegar”. Os componentes Label3 e Label4 serão preenchidos, respectivamente, com o nome do usuário logado e o nome do computador.

 

 

Adicionar comentário


Código de segurança
Atualizar

You are here: