Obtenir le path de l'application en cours [Résolu]

Signaler
Messages postés
30
Date d'inscription
vendredi 6 février 2004
Statut
Membre
Dernière intervention
23 octobre 2008
-
Messages postés
30
Date d'inscription
vendredi 6 février 2004
Statut
Membre
Dernière intervention
23 octobre 2008
-
Hello all, je souhaite connaitre un moyen de récupérer sours Windows le path de l'application en cours. J'ai déjà essayé getcwd mais cela ne me donne que le répertoire courant qui n'est pas le répertoire de l'application dans mon cas.

Une idée?

Merci d'avance.

4 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
en mode console :
argv[0];

en mode GUI ou console :
char szPath[_MAX_PATH];
GetModuleFileName(NULL, szPath, _MAX_PATH];

=> récupère le nom complet de l'exe. Pour avoir le répertoire il sufffit de rechercher le dernier \ ou / avec strrchr (2 'r').
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
On appelle ça la notation hongroise : chaque variable est préfixée par une ou plusieures lettres indiquant le type de la variable. Cette notation est largement utilisée par l'API Windows.
voici quelques exemples :
sz : chaîne terminée par un 0 terminal : char szPath[256];
psz, lpsz : pointeur sur une chaîne : char* pszText;
u : entier non signé : UINT uMsg;
n : entier : int nVal;
w : valeur sur 2 octets WORD wVal;
dw : valeur sur 4 octets DWORD dwVal;
...
Messages postés
30
Date d'inscription
vendredi 6 février 2004
Statut
Membre
Dernière intervention
23 octobre 2008

merci beaucoup, je le savais pourtant mais en voulant chercher midi à 14h.....

Bref au passage, ca vient d'où que les variables soient souvent nommées avec sz devant ?
Messages postés
30
Date d'inscription
vendredi 6 février 2004
Statut
Membre
Dernière intervention
23 octobre 2008

merci, depuis le temps que j'essayer de faire ma propre notation qui soit lisible alors que j'en avais une sous le nez et en plus c'est utilisé par pas mal de monde.

Merci bien m'sieur.