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

Windows Discussion :

Définir l'env d'exe d'un programme ?


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 24
    Points
    24
    Par défaut Définir l'env d'exe d'un programme ?
    Bonjour à tous,

    Je développe actuellement un exe en ligne de commande (et oui personne n'est parfait...) et je souhaiterais pouvoir l'exécuter depuis n'importe quel chemin sur mon PC.

    Cet exe est bien sure dépendant de son contexte d'execution (en gros il y a des fichiers présents au même niveau que <mon_exe> qui doit pouvoir les atteindre (INI, lib particulières, ...etc))

    Actuellement, la seule ruse que je connaisse et de créer un BATCH qui va commencer par se placer dans le bon directory avant de lancer <mon_exe> via CMD.EXE /K <mon_exe>

    Existe-t-il une manière plus éléguante ?
    - passer par la base de registre au moment de l'install de <mon_exe> et récupérer cette valeur dans le code ?
    - utiliser une variable d'environnement enregistrée au moment de l'install ?

    Dans les deux cas, je ne pense pas que ce soit suffisant pour pouvoir utiliser des DLL localisées dans le dossier de <mon_exe> ?

    merci pour vos réponses

  2. #2
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    Tu peux utiliser GetModuleFileName pour trouver le chemin de ton exe puis SetCurrentDirectory pour changer le répertoire courrant.
    Pour les dll chargées au lancement il cherche dans son répertoire de toutes façons.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Twindruff Voir le message
    Tu peux utiliser GetModuleFileName pour trouver le chemin de ton exe puis SetCurrentDirectory pour changer le répertoire courrant.
    Pour les dll chargées au lancement il cherche dans son répertoire de toutes façons.
    Merci pour ta réponse.

    J'ai également un début de réponse pour mes DLL avec la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<mon_exe>

    mais ça ne marche pas car les DLL que j'utilise (projet gettext : libiconv2.dll et libintl3.dll) ne sont pas vues avec cette option activée ?!

    Pour mon fichier INI je pense que je vais pouvoir me débrouiller avec la base de registre en ajoutant une clé Path.

    Je suis donc toujours bloqué pour la gestion de la localisation en dehors du chemin de l'exe...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par xylo Voir le message
    Merci pour ta réponse.

    J'ai également un début de réponse pour mes DLL avec la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<mon_exe>

    mais ça ne marche pas car les DLL que j'utilise (projet gettext : libiconv2.dll et libintl3.dll) ne sont pas vues avec cette option activée ?!

    Pour mon fichier INI je pense que je vais pouvoir me débrouiller avec la base de registre en ajoutant une clé Path.

    Je suis donc toujours bloqué pour la gestion de la localisation en dehors du chemin de l'exe...
    Je confirme, pour le fichier INI c'est bon j'utilise la fonction GetModuleFileName()
    Mais pour mes DLL je suis toujours dans l'impasse

  5. #5
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut,

    Citation Envoyé par xylo Voir le message
    Je développe actuellement un exe en ligne de commande (et oui personne n'est parfait...)
    Bien au contraire crois moi.

    Citation Envoyé par xylo Voir le message
    je souhaiterais pouvoir l'exécuter depuis n'importe quel chemin sur mon PC
    Tu peux toujours inclure le chemin de ton application dans la variable système «Path».

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par maxim_um Voir le message
    Salut,



    Bien au contraire crois moi.



    Tu peux toujours inclure le chemin de ton application dans la variable système «Path».
    En fait ce n'était pas la localisation des DLL qui posait un problème mais simplement le deuxième argument de la fonction bindtextdomain( PACKAGE, PACKAGE_LOCAL_DIR); qui doit être construit dynamiquement si l'on veut pouvoir retrouver le dossier 'locale' qui contient les traductions

    Merci encore à tous pour votre aide.

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

Discussions similaires

  1. Appel d'un .exe dans un programme en c sous unix
    Par arabimouh dans le forum C
    Réponses: 7
    Dernier message: 07/09/2007, 10h42
  2. Déterminer avec quel langage un .exe a été programmé
    Par Chatbour dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 31/08/2007, 00h57
  3. Créer le .Exe d'un programme terminé
    Par CleeM dans le forum Delphi
    Réponses: 12
    Dernier message: 04/07/2007, 12h22
  4. faire un .exe de mon programme
    Par jomannix dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 27/09/2006, 15h11
  5. executer un .exe depuis un programme
    Par celine18 dans le forum NetBeans
    Réponses: 4
    Dernier message: 25/08/2006, 15h56

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