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

MFC Discussion :

[MFC?] Comment r�cup�rer la directory de l'ex�cutable?


Sujet :

MFC

  1. #1
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut [MFC?] Comment r�cup�rer la directory de l'ex�cutable?
    bonjour,

    j'aimerais, lors du lancement de mon appli, initialiser des directory comme �a :

    .\blabla
    .\patati
    .\patata

    j'y arrive (c pa dur ) mais lorsque je change une directory pendant l'ex�cution, les autres ne sont plus valides, par exemple :

    je change la 1� : C:\kelkpar\blabla

    les autres sont :
    .\patati -------> C:\kelkpar\blabla\patati
    .\patata -------> C:\kelkpar\blabla\patata

    pour rem�dier � ce probl�me, il faudrait qu'� l'initialisation des directory je mette kelk choz du genre :

    dir_de_mon_exe\blabla
    dir_de_mon_exe\patati
    dir_de_mon_exe\patata

    mais je ne c pas koman r�cup�rer la directory de mon ex�cutable?
    Can U Help Me ?

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    tu peux recuperer le path en utilisant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    CWinApp::m_pszHelpFilePath
    qui donne le chemin de l'aide en fait le chemin de l'executable avec hlp a la place de .exe.

  3. #3
    Membre exp�riment�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par d�faut
    Tiens un bout de code d'un de mes progs , si tu comprends pas dis le moi, mais c pas tr�s complexe


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mkdir("../Images");	// créé le réperoire images dans le rep parent
    char buffer[_MAX_PATH];
    CString currdir = _getcwd( buffer, _MAX_PATH );	//recupere le chemin courant
    CString path;
    path.Format("../Images");
    _chdir(path);	//change le rep courant
    _mkdir("Files");
    _mkdir("NM");
    _chdir(currdir);       // revient au rep de l'exe

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Citation Envoy� par Guybrush113
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mkdir("../Images");	// créé le réperoire images dans le rep parent
    char buffer[_MAX_PATH];
    CString currdir = _getcwd( buffer, _MAX_PATH );	//recupere le chemin courant
    CString path;
    path.Format("../Images");
    _chdir(path);	//change le rep courant
    _mkdir("Files");
    _mkdir("NM");
    _chdir(currdir);       // revient au rep de l'exe
    getcwd donne le r�pertoire courant, pas celui de l'executable

    utilise GetModuleFileName(...)

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    allez, en entier parce que c'est vendredi
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    	char path[264];
    	char *c;
    	c = path + GetModuleFileName(NULL,path,264);
    	while(*c!='\\')
    		c--;
    	*c=0;
    path contient le r�pertoire de l'�xecutable

  6. #6
    Membre exp�riment�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par d�faut
    Certes, c'est du bidouillage, mais ca marche
    Et tout de mani�re par d�faut au d�but de l'ex�cution, le r�pertoire courant correspond a celui de l'exe non ?

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    imaginons que tu cr�es un raccourci, en changeant le repertoire de travail ; ou bien que dans une console dos, tu appelles le programme depuis un autre repertoire
    ex: ou alors, la modification du r�pertoire courant par SetCurrentDirectory, etc ...

    Pour toutes ces raisons, mieux vaut utiliser GetModuleFileName

  8. #8
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    oui au d�part "." correspond au r�pertoire de l'exe. le probl�me c'est que suivant ce que je f�, je change le r�pertoire courant et "." n'est plus le r�pertoire de d�part, d'o� mon soucis (c un effet de bord ke je n'av� pas vu au d�part).

  9. #9
    Membre exp�riment�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Par d�faut
    Non justement pour un raccourci ca marche !
    C'est avec GetCurrentDirecory et justement SetCurrentDiractory que ca ne marche pas lorsque l'on cr�� un raccourci.
    Mais tout de mani�re ta m�thode est plus simple, je la garde dans un coin

  10. #10
    R�dacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	// Répertoires de config par défaut
    	char path[264]; 
    	char * c; 
    	c = path + GetModuleFileName(NULL,path,264); 
    	while(*c!='\\') c--; 
    	*c=0;
    	m_csConfigDirectory = new CString[3];
    	for (int j=0;j<3;j++) m_csConfigDirectory[j] = path;
    	m_csConfigDirectory[0] += "\\processus\\";
    	m_csConfigDirectory[1] += "\\spi\\";
    	m_csConfigDirectory[2] += "\\capabilite\\";
    �a marche nickel merci bien

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. comment r�cup�rer les erreur d'ex�cution cron
    Par Ohemeg dans le forum RedHat / CentOS / Fedora
    R�ponses: 9
    Dernier message: 23/12/2008, 01h10
  2. R�ponses: 1
    Dernier message: 05/11/2007, 10h25
  3. [MFC] Comment r�cup�rer ce message ?
    Par julien.nasser dans le forum MFC
    R�ponses: 15
    Dernier message: 24/05/2006, 11h38
  4. R�ponses: 1
    Dernier message: 19/01/2006, 16h23
  5. Comment r�cup�rer la version d'un ex�cutable ?
    Par bib34690 dans le forum Langage
    R�ponses: 2
    Dernier message: 19/09/2005, 18h20

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