Répertoire dans lequel est situé le programme

Résolu
cs_Pingouin57 Messages postés 67 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 16 décembre 2007 - 5 juin 2006 à 14:13
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 6 juin 2006 à 18:44
Salut à tous,

Comme l'indique le titre, je cherche à obtenir le chemin complet du répertoire dans lequel se trouve le programme Delphi. Au final, ce sera pour en faire une execution automatique avec windows (avec Registry et HKLM\Software\...\Run\).
Après une longue fouille dans le fichier d'aide je m'avoue vaincu. (Je pari que obtenir le répertoire est enfantin mais bon... )

Voila ce que ça doit donner au final:




var
r:TRegistry, chemin: string;
begin
  if cb_winstart.checked then
  begin
    chemin := '???????';// Mais comment faire?! ^^
    r.RootKey := HKEY_LOCAL_MACHINE;
    r.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True);
    r.WriteString('mon prog',chemin);
end;







Merci à tous, Julien

8 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
5 juin 2006 à 14:51
salut,

tu peux récupérer le chemin par :

chemin :=extrcatfiledir(application.Exename).


@+

jlen
3
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
5 juin 2006 à 15:00
Salut,
où encore :

Chemin := ExtractFilePath(ParamStr(0));

@+
Cirec
3
cs_Pingouin57 Messages postés 67 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 16 décembre 2007
5 juin 2006 à 15:02
Génial, merci beaucoup à vous deux, mon projet sera bientôt fini et mis sur le site
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
5 juin 2006 à 15:02
Tiens pour le reste regarde le snipet de Florenth

http://www.codyx.org/snippet_lancer-exe-demarrage-windows_56_l_delphi_13.aspx

@+
Cirec
0

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

Posez votre question
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
6 juin 2006 à 02:41
Et il y a aussi celle-ci qui devrait fonctionner en mode Service :

Chemin := ExtractFilePath( GetCommandLine );

@+
Cirec
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
6 juin 2006 à 12:29
effectivement cirec,
merci pour cette précision

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
6 juin 2006 à 13:08
Mais je t'en prie, Nico, c'est avec plaisir que je partage mes connaissances avec vous tous

D'ailleurs petite précision supplémentaire :

TApplication.ExeName Utilise :
ParamStr(0)

et ParamStr(Index)  Utilise :
...
  ifIndex = 0 then
    SetString(Result, Buffer, GetModuleFileName(0, Buffer, SizeOf(Buffer)))
  else
  begin
    P : = GetCommandLine;
...

Et voili voilou,
 la boucle est bouclé 

@+
Cirec
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
6 juin 2006 à 18:44
@+
Nico {www.ni69.info}
0
Rejoignez-nous