Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1573 connectés 

  FORUM HardWare.fr
  Programmation
  C++

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°315565
antsite
Je me souviens
Posté le 22-02-2003 à 17:37:51  profilanswer
 

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
mood
Publicité
Posté le 22-02-2003 à 17:37:51  profilanswer
 

n°315572
cvb
Posté le 22-02-2003 à 17:59:17  profilanswer
 

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
 

n°315574
HelloWorld
Salut tout le monde!
Posté le 22-02-2003 à 18:02:23  profilanswer
 

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
n°315575
antsite
Je me souviens
Posté le 22-02-2003 à 18:05:44  profilanswer
 

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\

n°315577
cvb
Posté le 22-02-2003 à 18:07:00  profilanswer
 

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:

n°315578
antsite
Je me souviens
Posté le 22-02-2003 à 18:07:47  profilanswer
 

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...

n°315581
HelloWorld
Salut tout le monde!
Posté le 22-02-2003 à 18:13:02  profilanswer
 

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
n°315592
antsite
Je me souviens
Posté le 22-02-2003 à 18:27:48  profilanswer
 

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

n°315597
cvb
Posté le 22-02-2003 à 18:35:49  profilanswer
 

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 ;)

n°315609
antsite
Je me souviens
Posté le 22-02-2003 à 18:44:49  profilanswer
 

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

mood
Publicité
Posté le 22-02-2003 à 18:44:49  profilanswer
 

n°315611
HelloWorld
Salut tout le monde!
Posté le 22-02-2003 à 18:46:12  profilanswer
 

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
n°315614
HelloWorld
Salut tout le monde!
Posté le 22-02-2003 à 18:49:00  profilanswer
 

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
n°315620
antsite
Je me souviens
Posté le 22-02-2003 à 19:02:07  profilanswer
 

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

n°315643
Carbon_14
Posté le 22-02-2003 à 20:32:07  profilanswer
 

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

n°315644
Kristoph
Posté le 22-02-2003 à 20:33:06  profilanswer
 

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

n°315646
antsite
Je me souviens
Posté le 22-02-2003 à 20:39:05  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

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

 

Sujets relatifs
Programme sur les polynomes !API vidéos mpg ou autre
Transformer un programme JAVA en fichier .EXEEst ce une erreur importante : "overrides a deprecated API"
[DELPHI] comment récupérer le chemin ...[Windows] Comment lancer un programme en tache de fond ? RESOLU
MySQL : sélection multi-consoles pour un programme de newsPeut on recuperer la resolution d'un ecran client avec Apache/PHP ?
recuperer la valeur d'un attribut CSS directement en javascriptAide pour la CREATION d'un petit scripte ou programme
Plus de sujets relatifs à : [C/C++] [Win32 API] Récupérer le nom du dossier contenant ce programme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR