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

Résolu/Fermé
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 - Modifié par chabacha109 le 9/06/2011 à 21:26
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 - 10 juin 2011 à 16:18
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2011 à 09:35
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 samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 9
Modifié par chabacha109 le 10/06/2011 à 15:56
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2011 à 16:00
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 samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 9
10 juin 2011 à 16:18
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