• Jueves 18 de Abril de 2024, 22:15

Autor Tema:  Archivo y auto startup  (Leído 1382 veces)

llsnm

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Archivo y auto startup
« en: Viernes 30 de Diciembre de 2011, 07:50 »
0
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
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. //------------------------------------------------------------------------------
  5. int s(void);
  6. int c(void);
  7. //------------------------------------------------------------------------------
  8. int main(int argc, char *argv[]){
  9.  
  10.  if(s()== 0) return 0;
  11.  if(c()== 0) return 0;
  12.  
  13.  while(1){Sleep(100);} // para ver el return de las funciones: sacar.
  14.  
  15.  return 1;
  16. }
  17. //------------------------------------------------------------------------------
  18. int s(void)
  19. {
  20.    HKEY hkey;
  21.  
  22.    const char PATH[] =
  23.    "C:\\Users\\User1\\Desktop\\reboot.exe"; // por ahora al escritorio.
  24.  
  25.    
  26.    int regResult=RegOpenKeyEx(HKEY_CURRENT_USER/*HKEY_LOCAL_MACHINE*/,
  27.    "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hkey);
  28.    if(regResult != 0) /*return 0;*/ printf("REG OPEN ERROR\n");
  29.  
  30.    regResult=RegSetValueEx(hkey,"count",0,REG_SZ,(BYTE *)PATH,
  31.    strlen(PATH));
  32.    if(regResult != 0) /*return 0;*/printf("REG SET ERROR\n");
  33.    
  34.    regResult=RegCloseKey(hkey);
  35.    if(regResult != 0) /*return 0;*/printf("REG CLOSE ERROR\n");
  36.    return 1;
  37. }
  38. //------------------------------------------------------------------------------
  39. int c(){
  40.       FILE *counter;
  41.      
  42.       counter=fopen("filecounter.txt","a");
  43.       if(counter==NULL) /*return 0;*/ printf("FILE OPEN ERROR\n");
  44.      
  45.       int check=fprintf(counter,"hola\n");
  46.       if (check==0) /*return 0;*/ printf("FPRINTF ERROR\n");
  47.      
  48.       //int check = fputs("hello\n",counter);                      // tampoco anda
  49.       //if (check!=0) return 0; // printf("FPUTS ERROR\n");
  50.      
  51.       if(fclose(counter)!= 0) /*return 0;*/ printf("FCLOSE ERROR\n");
  52.      
  53.       return 1;
  54. }
  55. //------------------------------------------------------------------------------
  56.  

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

  • Nuevo Miembro
  • *
  • Mensajes: 23
  • Nacionalidad: 00
  • In the Inside...
    • Ver Perfil
Re:Archivo y auto startup
« Respuesta #1 en: Lunes 9 de Enero de 2012, 03:52 »
0
Ya viste que la clave se escribe en el registro?  :ball: