DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Mudar nome do Computador

Veja neste artigo como podemos descobrir o nome do seu computador e, além disso, mudar o nome do mesmo.

Olá galera, vamos a este artigo que tem como objetivo mostrar como podemos descobrir o nome do seu computador e, além disso, mudar o nome do mesmo.

Vamos iniciar colocando em nosso formulário 4 componentes, sendo 2 TLabeledEdit(LblEdtNomeAtual, LblEdtNovoNome), e 2 TButton(BtnNomeAtual, BtnNovoNome), mudamos os nomes para facilitar o entendimento.

Ficando da seguinte maneira :


Agora vamos precisar declarar duas function na seção private da classe do nosso formulário.
Listagem 1: Declaração das functions
type
  TForm1 = class(TForm)
    BtnNovoNome: TButton;
    LblEdtNovoNome: TLabeledEdit;
    LblEdtNomeAtual: TLabeledEdit;
    BtnNomeAtual: TButton;
  private
    function LoadComputerName: string;
    function PostComputerName(pNewName: string): Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;
Neste momento vamos implementar as mesmas usando o CTRL + SHIF + C, em cima de uma das declarações.

Agora vamos a implementação das duas functions

Listagem 2: Implementação da function LoadComputerName
function TForm1.LoadComputerName: string;
var
  buffer: array[0..MAX_COMPUTERNAME_LENGTH + 1] of Char;
  Size: Cardinal;
begin
  Size := MAX_COMPUTERNAME_LENGTH + 1;
  Windows.GetComputerName(@buffer, Size);
  Result := StrPas(buffer);
end; 
Listagem 3: Implementação da function PostComputerName
function TForm1.PostComputerName(pNewName: string): Boolean;
var
  ComputerName: array[0..MAX_COMPUTERNAME_LENGTH + 1] of Char;
  Size: Cardinal;
begin
  StrPCopy(ComputerName, pNewName);
  Result := Windows.SetComputerName(ComputerName);
end; 
Neste momento vamos implementar o evento onClick do BtnNomeAtual.
Listagem 4: Implementação do BtnNomeAtual
procedure TForm1.BtnNomeAtualClick(Sender: TObject);
begin
  LblEdtNomeAtual.Text := LoadComputerName;
end;
Neste momento vamos implementar o evento onClick do BtnNovoNome.
Listagem 5: Implementação do BtnNovoNome
procedure TForm1.BtnNovoNomeClick(Sender: TObject);
begin
  PostComputerName(LblEdtNovoNome.Text);
  ShowMessage('Reinicie o computador para ver o resultado');
end;

Observe que ao passar o nome do computador coloquei um ShowMessage, pois é exatamente isso que temos que fazer pra ver o resultado, reiniciar o computador.

Obs : Funciona no Windows XP e Windows Vista, no Windows 7 houve mudanças no registro por isso a função de PostName, não irá funcionar.

Fico por aqui e até a próxima.

Um abraço
Wesley Y
www.lithic.com.br




    6 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Benedito S. Assis.
Fiz a dica acima, traz nome do pc, mas não faz a mundança, não tem erro de digitação, pois fiz o transporte do codigo.
[há +1 mês] - Responder

 

[autor] Wesley Yamazack
Benedito ,
Fiz este artigo no Windows Vista, e testei também no WinXP, fui fazer agora no Win7, mas realmente não funcionou. Como isso mexe com o Registro do Windows, sem dúvidas foi modificado algo internamente no Registro. Vou dar uma pesquisada pra fazer funcionar no Win7, ok ?

Um abraço e Obrigado.
[há +1 mês] - Responder
 

[autor] Wesley Yamazack
Benedito, fiz um teste aqui no Windows 7, consegui achar a chave no registro do Windows para mudar o nome do computador.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters

Basta alterar a chave Hostname, para o nome que você deseja. ok ?

Um abraço.
[há +1 mês] - Responder
 

Benedito S. Assis.
Obrigado pela atenção.
Mas eu estou testando no XP, usando sua dica.
Mas pelo meu computador, propriedades, mudar nome faz corretamente acho que ai neste caso e registro.
[há +1 mês] - Responder
 

Benedito S. Assis.
Digo não e registro.
[há +1 mês] - Responder
 

[autor] Wesley Yamazack
Benedito, estou no furo com você, mas é que não estou com o XP aqui para fazer o teste. Vou preparar uma máquina Virtual com o WinXP e te retorno assim que tiver o resultado, ok ?

Obrigado e desculpa a demora.

Att,

Wesley Y
[há +1 mês] - Responder
 



Publicidade
Autor
Wesley Yamazack

Graduado em Analise de Sistemas, no ramo de desenvolvimento há mais de 6 anos, onde atuou em empresas de diversos seguimentos como financeiro, comercial, estacionamento, etc. Atualmente analista desenvolvedor terceirizado da Marinha do Brasil, além de desenvolver projetos através da minha empresa Li...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03