Programación General > C/C++

 Archivo y auto startup

(1/1)

llsnm:
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:

--- Código: C ---#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,   strlen(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.

RHL:
Ya viste que la clave se escribe en el registro?  :ball:

Navegación

[0] Índice de Mensajes

Ir a la versión completa