Hola y gracias por interesarte en el post,
estoy escribiendo un código que básicamente cuenta las cantidades de reiniciadas o apagadas al s.o y las escribe en un archivo de texto. Hice que se auto inicie con windows modificando el registro.
El problema es que al reiniciar o apagar, no vuelve a escribir el archivo. El programa se auto inicia y las funciones que utilice no devuelven ningún error, pero aun así no escribe el archivo.
El código:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
//------------------------------------------------------------------------------
int s(void);
int c(void);
//------------------------------------------------------------------------------
int main(int argc, char *argv[]){
if(s()== 0) return 0;
if(c()== 0) return 0;
while(1){Sleep(100);} // para ver el return de las funciones: sacar.
return 1;
}
//------------------------------------------------------------------------------
int s(void)
{
HKEY hkey;
const char PATH[] =
"C:\\Users\\User1\\Desktop\\reboot.exe"; // por ahora al escritorio.
int regResult=RegOpenKeyEx(HKEY_CURRENT_USER/*HKEY_LOCAL_MACHINE*/,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hkey);
if(regResult
!= 0) /*return 0;*/ printf("REG OPEN ERROR\n");
regResult=RegSetValueEx(hkey,"count",0,REG_SZ,(BYTE *)PATH,
if(regResult
!= 0) /*return 0;*/printf("REG SET ERROR\n");
regResult=RegCloseKey(hkey);
if(regResult
!= 0) /*return 0;*/printf("REG CLOSE ERROR\n"); return 1;
}
//------------------------------------------------------------------------------
int c(){
FILE *counter;
counter
=fopen("filecounter.txt","a"); if(counter
==NULL
) /*return 0;*/ printf("FILE OPEN ERROR\n");
int check
=fprintf(counter
,"hola\n"); if (check
==0) /*return 0;*/ printf("FPRINTF ERROR\n");
//int check = fputs("hello\n",counter); // tampoco anda
//if (check!=0) return 0; // printf("FPUTS ERROR\n");
if(fclose(counter
)!= 0) /*return 0;*/ printf("FCLOSE ERROR\n");
return 1;
}
//------------------------------------------------------------------------------
Alguna sugerencia?
PD: Aun no escribí la parte de contar los reinicios, pero una vez que pueda escribir el file después de reiniciar no va a ser mucho problema.