Naftali

Manipulando registro em C

Categoria(s): (Nerd) por Naftali em 30-07-2008

Tags :

Olá, para iniciar meus posts na categoria Coding, vou ensinar como abrir chaves e escrever valores no registro. É uma aplicação bem simples que utiliza a API do windows.

Nessa aplicação eu vou mostrar como fazer para trocar o papel de parede do windows (Lembrando que quando se escreve o endereço do papel de parede manualmente no registro é preciso reiniciar o computador para aplicar).

#include < windows.h >
#include < stdio.h >
#include < conio.h >
#include < strings.h >

#define MAX_STRING 250

/*
	Essa aplicação tem como finalidade demonstrar algumas formas de manipular
	o registro do windows. Nesse exemplo, vamos mudar o papel de parede do
	usuário atual

	Aplicação criada por: Naftali Andrade Santos
	Site: blog.wiiarenerds.com.br
*/
main()
{
	// variável que vai conter o caminho para a imagem que vai ser o papel de
	// parede
	char caminho[MAX_STRING];
	// Essa variável vai conter o endereço de memória para a chave que foi
	// aberta
	HKEY chave;

	printf("Digite o caminho para a imagem: ");
	gets(caminho);

	// Vamos abrir a chave que precisamos
	if(RegOpenKey(HKEY_CURRENT_USER, "Control Panel\\Desktop", &chave) != 0)
		printf("Problemas ao abrir a chave, verifique se ela realmente existe");
	else
	{
		printf("Chave aberta com sucesso");
		// Depois de aberta vamos manipular algumas informações nela
		if(RegSetValueEx(chave, "WallPaper", 0, REG_SZ, (LPBYTE)caminho, strlen(caminho)) != 0)
		   printf("\nOcorreu um erro ao escrever o valor!");
		else
		   printf("\nValor escrito corretamente!");
	}

	// Lembre-se de fechar a chave
	RegCloseKey(chave);

	printf("\nPressione qualquer tecla para continuar");
	getch();
}

Link para o código-fonte: Registro – Source
Link para o executável: Registro – Executável

PS.: Esse post foi criado para responder a dúvida presente no forum Ajuda na Web. Segue o link: http://www.ajudanaweb.com/index.php?showtopic=427

Nenhum post relacionado.

Comentários:

Postar um comentário