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 :

Extraire et ouvrir un (.exe).


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 8
    Par défaut Extraire et ouvrir un (.exe).
    Bonjour,
    j'ai crée un petit programme en C++ qui ouvre un jeu créé dans un autre langage (en c#).
    Voici la ligne de code permettant d'ouvrir le jeu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(NULL, _T("open"), _T("C:\\Windows\\Exsela\\OneDrive\\Bureau\\FightGame.exe"), NULL, NULL, SW_RESTORE);
    D'autres fonctions se trouvent dans le programme pour régler certains paramètres et pour lancer le jeu dans de bonnes conditions. Seulement le problème est là : le programme fonctionne bien mais...Que sur mon ordinateur. C'est-à-dire que sur un autre ordinateur, par exemple celui d'un ami, le programme ne marcherai pas étant donné que le chemin jusqu'au répertoire ne serait pas le même.
    J'ai donc pensé à l'extraction de ressources dans un répertoire (ex : %temp%) : Le jeu sera extrait dans ce répertoire puis sera lancé par le programme C++.
    Je sais qu'en Visual Basic, on peut le faire mais en C++, je n'ai rien trouvé…
    Merci de vos réponses !

  2. #2
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 20
    Par défaut
    Exsela,

    Votre jeu est programmé dans un autre langage. Celui-ci doit pouvoir se lancer avec un paramétrage particulier (fichier de configuration ou par ligne de commande). Vous essayez de faire un "lanceur" de ce jeu. Pourquoi ne pas utiliser simplement le bash/python (linux) ou le powershell (windows) pour réaliser cette tâche car :
    --> le lanceur est un court programme.
    --> Il n'y a aucun gain de performance ou d'utilité à l'avoir compilé.
    En général on met le lanceur à côté du programme installé (donc le chemin en dur sera le même pour n'importe quel ordinateur, ça sera "./leJeu.exe") et on tire un raccourcis sur le bureau.
    Cependant si vous voulez quand même utiliser C++, voici comment faire (en C++17) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <filesystem>
    namespace fs = std::filesystem;
    Puis rechercher votre jeu puisque vous ne savez pas où il est... mais c'est une très mauvaise méthode.

    Je vous laisse chercher la documentation pour std::filesystem.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 8
    Par défaut
    Merci de ta réponse
    Effectivement, il est plus préférable de mettre mon lanceur à coté du jeu (donc dans un même dossier) et de changer ma ligne de code comme ceci (j'ignorais que l'on pouvait faire comme ça) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(NULL, ("open"), ("FightGame.exe"), NULL, NULL, SW_RESTORE);
    et le tour est joué.
    Je me complique la vie pour rien :')

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Exsela Voir le message
    Je me complique la vie pour rien :')
    Je te le fais pas dire, parce qu'un tel truc devrait se faire via un .bat et non un programme compilé en C++.
    Mais bon si t'es adepte de la chasse à la mouche au bazooka..
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [À télécharger] Extraire les icônes d'un fichier EXE ou DLL
    Par SfJ5Rpw8 dans le forum Vos téléchargements VB6
    Réponses: 0
    Dernier message: 13/11/2010, 19h43
  2. mettre un .exe dans un .ress et l'extraire durant l'exécution
    Par harry_kalagan dans le forum C++Builder
    Réponses: 1
    Dernier message: 11/03/2010, 11h52
  3. extraire un champs texte à l'aide de dcmdump.exe
    Par Di-Ma dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 06/11/2009, 20h30
  4. Extraire les pilotes contenus dans un fichier .exe
    Par DM111 dans le forum Windows XP
    Réponses: 6
    Dernier message: 10/06/2007, 22h49
  5. Extraire le code d'un exe
    Par HADES62 dans le forum Autres langages
    Réponses: 7
    Dernier message: 17/01/2006, 21h29

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