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

Langage C++ Discussion :

Problème lancement d'un executable via mon launcher


Sujet :

Langage C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Points : 25
    Points
    25
    Par défaut Problème lancement d'un executable via mon launcher
    Bonsoir, je vous explique mon petit problème, j'ai fais un launcher pour world of warcraft, mais des qu'on lance le launcher via le menu démarrer et que j'appuie
    sur jouer ca m'affiche erreur de dll (qu'il n'a pas trouver) alors j'ai eu l'idée de mettre le répertoire d'installation de Wow dans la base de registre(du moins celle du launcher) mais la il me lance plus rien du tout x___x


    voici mon bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    std::string myDir = this->WowDirectory.toStdString()+std::string("\\wow.exe" );
     
    ShellExecute( NULL, TEXT("open" ), LPCWSTR(myDir.c_str()), NULL, NULL, SW_SHOW );
    pour info je suis sous Qt

    j'ai essayer ce code aussi mais sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	QProcess m_process;
     
    	m_process.startDetached("E:\\Jeux\\World of Warcraft\\wow.exe");
    Merci d'avance de votre aide

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Que se passe-t-il si tu règles le Current Directory avant d'appeler ShellExecute() ?

    PS: Ce cast sauvage de const char* en LPCWSTR ne devrait même pas marcher. Si tu tiens à utiliser des chaînes non-unicode, appelle la fonction ShellExecuteA()!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Que se passe-t-il si tu règles le Current Directory avant d'appeler ShellExecute() ?
    Que veux tu dire par la Oo ?

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Le "current directory" (répertoire courant) est le répertoire dans lequel sont cherchés les chemins relatifs.

    En clair, si tu as fopen("toto") au lieu de fopen("/chemin/toto"), toto sera cherché dans le répertoire courant.

    L'explorateur Windows règle le répertoire courant sur le dossier actuellement affiché avant de lancer un programme si on double-clique dessus. Ton programme ne le fait pas.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 17
    Dernier message: 20/11/2014, 11h42
  2. problème lors de l'execution de mon web service
    Par perrotta dans le forum Visual Studio
    Réponses: 1
    Dernier message: 02/12/2009, 17h59
  3. Probléme d'execution de mon Kernel perso
    Par bouazza92 dans le forum C
    Réponses: 54
    Dernier message: 05/08/2006, 12h16
  4. problème d'accèes à un repertoire via FTP chez mon hébergeur
    Par vbcasimir dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 03/10/2005, 13h56
  5. problème lancement executable avec winexec()
    Par semenzato dans le forum MFC
    Réponses: 5
    Dernier message: 19/01/2004, 11h48

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