IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

exe en c++ se lance au démarrage windows mais s'exécute pas, lancé manuellement il marche


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut exe en c++ se lance au démarrage windows mais s'exécute pas, lancé manuellement il marche
    Bonjour,
    J'ai crée une petite appli test en c++ sur visual c++ 2010 express. Pas de message d'erreur.
    - Lancé manuellement tout est OK (ca écrit un texte dans un fichier txt)
    - Pour exécuter cette appli au démarage de windows, j'ai crée une clé regedit (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run), le programme se lance sans problème ( je le vois dans le gestionnaire des taches ) mais il ne s'exécute plus, le fichier texte n'est pas écrit !!!!!
    Ou est le problème ?
    Un paramètre dans les propriétés du projet vc++ ?
    Merci de votre réponse

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <fstream>
    #include <windows.h>
     
    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
    	static std::ofstream g_log("log2.txt");
    	g_log << "message" << std::endl;
    	Sleep(INFINITE);
    	return 0;
    }

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par défaut
    Citation Envoyé par rv2010 Voir le message
    Bonjour,
    J'ai crée une petite appli test en c++ sur visual c++ 2010 express. Pas de message d'erreur.
    - Lancé manuellement tout est OK (ca écrit un texte dans un fichier txt)
    - Pour exécuter cette appli au démarage de windows, j'ai crée une clé regedit (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run), le programme se lance sans problème ( je le vois dans le gestionnaire des taches ) mais il ne s'exécute plus, le fichier texte n'est pas écrit !!!!!
    Ou est le problème ?
    Un paramètre dans les propriétés du projet vc++ ?
    Merci de votre réponse

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <fstream>
    #include <windows.h>
     
    int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    {
    	static std::ofstream g_log("log2.txt");
    	g_log << "message" << std::endl;
    	Sleep(INFINITE);
    	return 0;
    }
    Quel est le répertoire d'exécution du programme ? C'est-à-dire, dans quel répertoire crois-tu que le programme écrit ? Ce n'est pas parce que tu donnes le path de l'exe dans la clef de registre que le programme va s'exécuter dans le répertoire qui le contient.

    Dans ton cas, il est plus que probable que le problème se situe là : le programme est probablement exécuté dans c:\windows, et tu ne peux pas y créer un fichier. Tu peux afficher le répertoire d'exécution dans une boite de message avec cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <windows.h>
    #include <tchar.h>
     
    void pwd()
    {
      TCHAR path[MAX_PATH];
      GetCurrentDirectory(MAX_PATH, path);
      MessageBox(NULL, path, "Chemin d'exécution", MB_OK);
    }
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut
    merci pour ta réponse, c'était en effet un problème de chemin relatif, je l'ai mis en absolu et hop ca marche.
    Merci encore

Discussions similaires

  1. Développer application qui se lance au démarrage de Windows
    Par ihebiheb dans le forum Général Java
    Réponses: 5
    Dernier message: 16/09/2011, 11h14
  2. Réponses: 3
    Dernier message: 10/03/2011, 14h38
  3. Réponses: 0
    Dernier message: 14/05/2009, 16h06
  4. [Système] Problème de démarrage Windows
    Par boubouc dans le forum Sécurité
    Réponses: 6
    Dernier message: 01/03/2006, 08h29
  5. [DEBUTANT]Changement de l'écran de démarrage Windows 2000
    Par julie20 dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 24/10/2005, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo