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
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados