[C/C++] [Win32 API] Récupérer le nom du dossier contenant ce programme

Récupérer le nom du dossier contenant ce programme [C/C++] [Win32 API] - C++ - Programmation

Marsh Posté le 22-02-2003 à 17:37:51    

Salut,
Existe-t-il une API permettant de récupérer le chemin complet contenant ce programme. Du genre GetAppFolder. Ce que je fais mais c'est un peu bricoler: GetCommandLine puis élimination des guillemets, aguments, puis nom du fichier exe pour avoir le répertoire. Y a-t-il un moyen moins laborieux ?
merci
   ANT


Message édité par antsite le 22-02-2003 à 18:45:30
Reply

Marsh Posté le 22-02-2003 à 17:37:51   

Reply

Marsh Posté le 22-02-2003 à 17:59:17    

ANTSite a écrit :

 Salut,
Existe-t-il une API permettant de récupérer le chemin complet contenant ce programme. Du genre GetAppFolder. Ce que je fais mais c'est un peu bricoler: GetCommandLine puis élimination des guillemets, aguments, puis nom du fichier exe pour avoir le répertoire. Y a-t-il un moyen moins laborieux ?
merci
   ANT


 
Vous êtes bien sympa, mais vous en dîtes que la moitié. On ne connaît pas le chemin de ton programme...Ensuie tu travaille sous quel langages ? car je veux bien te donner des liens mais tu as plus de 900 à regarder et c'est du VB, donc amuse toi avec.
A l'avenir pensez à parler pour les autres par pour vous ! je ne le dis pas qu'à toi, tu n'es pas le seul à le fare ;)
 
http://www.allapi.net/
http://docvb.free.fr/api.php
 

Reply

Marsh Posté le 22-02-2003 à 18:02:23    

je dirais GetCurrentDirectory, mais ...
méfiance : il se peut que le répertoire courant soit different de celui de ton prog (cas d'un racourci mal fait)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-02-2003 à 18:05:44    

Pour le langage dsl je croyais que le fait d'avoir choisi une sous catégorie l'indiquer automatiquement dans le sujet.
Donc langage: C++
Chemin: ben un truc du genre c:\rep1\rep2\

Reply

Marsh Posté le 22-02-2003 à 18:07:00    

ANTSite a écrit :

Pour le langage dsl je croyais que le fait d'avoir choisi une sous catégorie l'indiquer automatiquement dans le sujet.
Donc langage: C++
Chemin: ben un truc du genre c:\rep1\rep2\

c'est pas grave, je ne connais pas sufisament le C++; sorry ;) :jap:

Reply

Marsh Posté le 22-02-2003 à 18:07:47    

HelloWorld a écrit :

je dirais GetCurrentDirectory, mais ...
méfiance : il se peut que le répertoire courant soit different de celui de ton prog (cas d'un racourci mal fait)


 
C'est précisement pour sécuriser que je veux récupérer le chemin de mon prog, car je sais que GetCurrentDirectory change si le répertoire de travail change...

Reply

Marsh Posté le 22-02-2003 à 18:13:02    

Arf ca y est ca me revient : GetModuleFileName, en passant NULL ...
mais y'a le nom de l'exe aussi. spa dur de le virer.
ce que tu avais fait etait correct, sauf que faut faire gaffe avec les parametres : ils peuvent ou non etre entoures de guillemets ...
Win98 / WinNT4 : "C:\Mon Programme\Mon Programme.exe" C:\MONPRO~1\FICHIE~1.TXT
 
Win2000 : "C:\Mon Programme\Mon Programme.exe" "C:\Mon Programme\Fichier de test.txt"
 
Win98 (depuis la l'invite de commande) : "C:\MONPRO~1\MONPRO~1.EXE" C:\MONPRO~1\FICHIE~1.TXT
 
cvb >
il a dit Win32 ... il veut le nom de la fonction. Elle s'utilise pareil en C, VB, Delphi ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-02-2003 à 18:27:48    

Voila maintenant que tu le dis ça me revient aussi le nom de cette API!
 
merci bien  :hello:

Reply

Marsh Posté le 22-02-2003 à 18:35:49    

HelloWorld a écrit :


il a dit Win32 ... il veut le nom de la fonction. Elle s'utilise pareil en C, VB, Delphi ...


 
 
 :heink: elle s'utilise pareil ? depuis quand ? Elle aboutisse au même résultat, oui. Perso, ce que j'apelle utilisation c'est la manière donc tu les déclare et tu m'escuse mais entre le C++ et le Delphi, la déclarations n'as rien à voir...et c'est bien là le problème.  
 
Ensuite, je sais bien qui demandait une fonction win32, je les utilise sauf celle-ci puisque sous Vb, une fonction est intégré, pour sa questions...les API je les utilises aussi, mais je les connais pas toutes ;)

Reply

Marsh Posté le 22-02-2003 à 18:44:49    

encore une question sur une api / message:
je voudrais sélectionner le texte de mon champ de texte, comment faire ? Message, API ?
thx

Reply

Marsh Posté le 22-02-2003 à 18:44:49   

Reply

Marsh Posté le 22-02-2003 à 18:46:12    

win32 : y'a pas à déclarer, c'est dans windows.h / .pas (?) qui est normalement deja inclus vu qu'il dit faire du win32.
Mais je comprend ta remarque.
Je voulais juste dire que à partir du nom de la fonction, il sait se démerder (y'a l'aide).
Il aurait pu donner le langage c'est vrai, mais généralement, on s'attend à C/C++/Delphi en win32


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-02-2003 à 18:49:00    

Heu ... la par contre t'as normalement pas besoin de win32, la VCL te le permet facilement.
Mais si t'y tien ...
SendMessage( hEdit, EM_SETSEL, debut_select, fin_select );


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-02-2003 à 19:02:07    

Je n'utilise pas la VCL  :)  
Donc merci pour le message !

Reply

Marsh Posté le 22-02-2003 à 20:32:07    

Y a pas un "raccourci" par SendMessage(hEdit, EM_SETSEL, 0, -1L); ?
 

Reply

Marsh Posté le 22-02-2003 à 20:33:06    

Le premier paramètre de main contient l'executable avec son chemin

Reply

Marsh Posté le 22-02-2003 à 20:39:05    

Kristoph a écrit :

Le premier paramètre de main contient l'executable avec son chemin


 
Oui mais la en fait j'utilise un Winmain, et donc je peux certes récupérer la commandline (cf post ci dessus), mais ce n'est pas vraiment top, GetModuleFileName est mieux
 

CARBON_14 a écrit :

Y a pas un "raccourci" par SendMessage(hEdit, EM_SETSEL, 0, -1L); ?


 
Si si en effet c'est ce que j'ai fait pour sélectionner tout mon texte!


Message édité par antsite le 22-02-2003 à 20:40:11
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed