Nom de l'exécutable

cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007 - 6 juil. 2004 à 21:58
cs_Capa6T Messages postés 36 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 15 août 2012 - 9 juil. 2004 à 18:19
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

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
6 juil. 2004 à 22:28
sous Windows :

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

-> renvoi le nom complet (chemin+nom)
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
6 juil. 2004 à 22:43
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
0
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007
6 juil. 2004 à 23:01
Mince c'est vrai. J'avais pas pensé au premier argument argc[1] Merci ++
0
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007
6 juil. 2004 à 23:15
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
6 juil. 2004 à 23:25
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
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
6 juil. 2004 à 23:26
Et puis ce n'est pas Argv[1] mais argv[0] !!!
0
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007
7 juil. 2004 à 14:04
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 ++
0
cs_Capa6T Messages postés 36 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 15 août 2012 3
9 juil. 2004 à 18:19
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
0
Rejoignez-nous