Nom de l'exécutable

Signaler
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007
-
Messages postés
36
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
15 août 2012
-
Existe-t-il une fonction qui renvoit le nom de l'exécutable lancé. Si mon programme s'appelle Test.exe. Je voudrais une fonction qui renvoit son nom dans un buffer. Merci à tous et ++

8 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
sous Windows :

char szName[260];
GetModuleFileName(NULL, szName, 260);

-> renvoi le nom complet (chemin+nom)
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Si tu travailles en mode console, (main), tu peu simplement recupérer le premier element du tab a 2dimensions du main :

exemple !

int main(int argc, char **argv){

printf("nom de l'application : %s\n", argv[0]);

return 0;
}

Voila ++

Alhexman
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007

Mince c'est vrai. J'avais pas pensé au premier argument argc[1] Merci ++
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007

Aïe y a un probleme. Argv[1] correspond à l'ensemble du path du programme et pas seulement lr nom de l'exécutable. Une autre solution peut être?
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Qu'est ce qui t'empeche de traiter cette chaine pour recup le nom de l'exe ? Exemple d'algo : tu par de la fin de la chaine, tu parcours juska kun caractere soit egal a '\' et alors tu copie ds une chaine a partir de cette adresse.
Si tu as pas compris, jte coderai ceci...

++

Alhexman
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Et puis ce n'est pas Argv[1] mais argv[0] !!!
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007

Oui tu as raison. De plus j'ai déjà la routine en ASM avec LODSB et une comparaison EOF et '\' Mais je voulais juste savoir s'il y avait une fonction simple comme pour GetSystemDir ou GetModuleFileName.
Merci à tous pour vos commentaires ++
Messages postés
36
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
15 août 2012
3
Allez cadeau :big)

<td class=code>
// ******************************************************************
// Separation du Path et du Nom de Fichier
// ******************************************************************
void SeparePathNom(char *chaine,char *strPath,char *strNom)
{
char *pmilieu,*p;

p=chaine;
while(*p!='\0') // Recherche du dernier '\'
if (*p++=='\\') pmilieu=p;
p=chaine;
while(p