Categoria(s): (C/C++, Coding, Rapidinhas) por Naftali em 23-08-2008
Pois bem, estava eu, programando como sempre, quando percebi que meu programa começou a dar alguns erros estranhos. Ao estudar os parâmetros vi que tudo estava correto. Mas mesmo assim o programa insistia em fazer o contrário do que imaginava.
Então resolvi dar a minha última cartada: Depurar o código com nosso querido break-point (pode parecer estranho, mas eu tento evitar o break-point. Uso apenas quando o caso é supremo, como esse).
Pois é, ao depurar o código eu vi realmente que o programa estava entrando na condição contrária a que imaginava para aquela situação. Verifiquei os dados de entrada e estavam todos corretos.
- Caralho piii, o que tá acontecendo aqui? - Pensei comigo mesmo já na fúria.
Pois então resolvi ver qual era o real valor que estava dando a condição. Acredita que era verdadeiro? E mesmo assim entrava no else? Não acredita? Veja com seus próprios olhos!

Eae, algum palpite?
Categoria(s): (C/C++, Coding) por Naftali em 30-07-2008
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