Page 1 sur 1

Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 18:19
par GallyHC
Bonjour tous,

J'ai un petit problème avec la commande "GetCurrentDirectory() ". Voila quand je lance mon programme pas de problème par contre quand je créer une clef run pour ce même programme la fonction "GetCurrentDirectory() " me donne "c:\windows\system32" comme répertoire pour mon logiciel et je ne sais comment faire sur ce coup.

Cordialement,
GallyHC

Re: Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 18:49
par nico
GetCurrentDirectory() est une fonction particulière, elle est revenue plusieurs fois comme bug sur le Forum Anglais, et la réponse fût la suivante:

Vous ne comprenez pas cette fonction
Vous ne savez pas utiliser cette fonction
Il n'y a pas de bug sur cette fonction


Si tu souhaites obtenir le dossier de l'exe, il ne faut pas utiliser cette fonction, elle n'est pas faites pour ça!.

Re: Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 18:53
par GallyHC
OK merci en gros elle juste de repertoire en utilisation qu'elle, qu'il soit.

Merci bon comment je fait alors Heu ben je recherche :)

Cordialement,
GallyHC

Re: Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 19:11
par Ar-S
Je ne pige pas ton
par contre quand je créer une clef run pour ce même programme

Re: Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 19:16
par comtois
Pour connaitre le répertoire de ton exécutable : ProgramFilename()

Re: Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 19:37
par GallyHC
Merci comtois pour l'information.

Ar-S> Oui j'ai peu etre pas été très claire :) Désolé. Donc en fait que je lance mon programme au demarrage de windows et donc en mettant une inforamtion dans les clef de registre.

Cordialement,
GallyHC

Re: Probleme avec GetCurrentDirectory()

Publié : dim. 29/avr./2012 21:48
par GallyHC
Bon ben voila ce que j'ai trouvais pour mon code :)

Code : Tout sélectionner

Procedure.s GetFilePath()
;
  Define i.l
  Define filetemp.s

  CompilerIf #PB_Compiler_Debugger
    filetemp = GetCurrentDirectory() 
  CompilerElse
    filetemp = GetPathPart(ProgramFilename())
  CompilerEndIf
  If Right(filetemp, 1) <> "\"
    filetemp = filetemp + "\"
  EndIf
  ProcedureReturn filetemp 

EndProcedure
Cordialement,
GallyHC