[SOS ] problème avec API windows c++ !

Résolu
chabacha109 Messages postés 268 Date d'inscription   Statut Membre Dernière intervention   -  
chabacha109 Messages postés 268 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

n'hésitez pas de me signaler le problème svp...


bah en fait c'est une problème extrêmement absurde , elle à commencer de m'énerver.....


je vous laisse avec mon code c++ :
//c'est le code source de Config.exe :
/*   
les includes nécessaires   
*/   


int main()   
{   

  //cette procédure permet d'ajouter "Config.exe" au démarrage automatique de windows   
  //donc ce code se lance automatiquement  au démarrage de windows ....   

addtostartup("C:\\Documents and Settings\\Administrateur\\Config.ini\\Config.exe");   

    while(1)   
    {   
      /*   
      qq traitements....   
     */   

// appeler le process "Update.exe"   

system("\"C:\\Documents and Settings\\Administrateur\\Config.ini\\Update.exe\"");   


//endormie mon programme pendant 7 secondes     
Sleep(7000);   
      }   


return 0;   
}   






bah , mon code tourne parfaitement si je lance le Config.exe par moi , les Updates sont automatisé a chaque itérations , pas de probléme ici ...

MAIS, si je redémarre mon pc , Config.exe se lance automatiquement(heureusement ) mais les appelles a Update.exe ne se fait pas (O_o) !!!!

si elle se lance avant le redémarrage , pourquoi pas aprés !!!???

de+ j'ai donné le chemin absolu !!!!!!!

est-ce-que c'est normale !!!


merci d'avance



To Be Or Not To Be , Marwen
A voir également:

4 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
je ne sais pas.
Que fait la commande addtostartup ? Si c'est ajouter Config.exe à la liste des processus qui se lance automatiquement, c'est étrange que tu le remettes à chaque fois, pour moi il ne devrais même pas apparaître. Je verrai ce genre de fonction dans un programme d'installation.

Je te conseil de créer un fichier de log avec toutes les actions répertorié, etc. En lisant le fichier tu aura plus d'idée
0
chabacha109 Messages postés 268 Date d'inscription   Statut Membre Dernière intervention   9
 
bonjour Char Snipeur ,
probléme résolut ^^
il s'agit d'une histoire de chemin absolu...., lors de redémarrage mon prog ne reconnais pas les chemins relatif...
oui tu a raison a propos addtostartup, voila son code:
void addtostartup(char path[]) 
{ 
    HKEY key; 
   RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &key); 
       RegSetValueEx(key,"system1.exe", 0, REG_SZ, (BYTE*)path, strlen(path)+1); 
   RegCloseKey(key);   
     } 

bonne proposition , mais comment faire un fichier log , plus tôt c'est quoi au juste ??
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
un fichier log, c'est juste un fichier où tu marque les actions effectuer (lancement de bidule ; action truc...) qui te permet de voir l'évolution de ton programme.
Dans le bout de code que tu donnes, il n'y avait que des chemins absolus aussi...
0
chabacha109 Messages postés 268 Date d'inscription   Statut Membre Dernière intervention   9
 
oui t'a raison j'ai pas posté mon probléme..

je signale le problème pour tous le monde ;)

//c'est le code source de Config.exe :

/*   
les includes nécessaires   
*/   

 int getnbrligne()
{
     int n=0;
 //ici le problème 
//  std::ifstream fichier( "Config.txt");
//la correction
  std::ifstream fichier( "C:\\Documents and Settings\\Administrateu\\Config.ini\\Config.txt" );

    if ( fichier )
    {
        std::string ligne;
        while ( std::getline( fichier, ligne ) )
        {
        
            n++;
        }
    }
    return n;
}




int main()   
{   

  //cette procédure permet d'ajouter "Config.exe" au démarrage automatique de windows   
  //donc ce code se lance automatiquement  au démarrage de windows ....   

addtostartup("C:\\Documents and Settings\\Administrateur\\Config.ini\\Config.exe");   

    while(1)   
    {   
      /*   
      qq traitements....   
     */   



if(getnbrligne()>=10)
system("\"C:\\Documents and Settings\\Administrateur\\Config.ini\\Update.exe\"");   


//endormie mon programme pendant 7 secondes     
Sleep(7000);   
      }   


return 0;   
}   



a+
0