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
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
Listagem 3: Implementação da function PostComputerName
Neste momento vamos implementar o evento onClick do BtnNomeAtual.
Listagem 4: Implementação do BtnNomeAtual
Neste momento vamos implementar o evento onClick do BtnNovoNome.
Listagem 5: Implementação do BtnNovoNome
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
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;
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;
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;
Listagem 4: Implementação do BtnNomeAtual
procedure TForm1.BtnNomeAtualClick(Sender: TObject); begin LblEdtNomeAtual.Text := LoadComputerName; end;
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
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.
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.
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.
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
Obrigado e desculpa a demora.
Att,
Wesley Y
[há +1 mês] -
Responder
Você está em:
canal Delphi
Publicidade
Wesley Yamazack
Space do autor
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


0
0
