Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

GetCurrentDirectory() sous W XP et W 98 ???

8 réponses
Avatar
ByB
Bonjour,

J'ai développé sous Windows XP un logiciel qui accède à un fichier INI
qui est stocké dans un sous répertoire du répertoire de l'appli.
J'utilise donc GetCurrentDirectory() pour connaitre le chemin vers
l'appli, et je concatène le nom du sous répertoire. L'appli accède
ainsi à ses paramètres et tout va bien.

J'ai envoyé cette appli sur CD à quelqu'un qui l'a faite tourner sous
Windows 98, et là, l'application affiche le message que j'ai prévu si
elle n'arrive pas à accéder à son fichier INI.

J'en déduit qu'il est possible que le GetCurrentDirectory() ne
fonctionne pas de la même façon sous XP et sous 98. Peut-être la
fonction ajoute t-elle un backslah ("\") pour terminer le chemin, dans
un cas et pas dans l'autre, ce qui pourrait alors expliquer que la
construction du chemin vers le fichier INI ne fonctionne pas ?

Bref, si quelqu'un peut me donner des infos à ce sujet, je les
apprécierais vivement, car je ne dispose que de Windows XP (et pas
Windows 98). De plus, je n'ai rien trouvé en cherchant sur Internet (y
compris dans les MSDN).

Merci d'avance de vos infos !

--
« Le comble de la ressemblance : Pouvoir se faire la barbe devant son
portrait. »
[ Alphonse Allais ]

8 réponses

Avatar
ByB
Après mure réflexion, ByB a écrit :
Bonjour,

J'ai développé sous Windows XP



Je précise que mon développement s'est fait avec Visual C++ 6.0.

--
Par le bois du Djinn où s'entasse de l'effroi,
Parle ! Bois du gin ou cent tasses de lait froid !

(Alphonse Allais)
Avatar
Vincent Burel
"ByB" wrote in message
news:
Après mure réflexion, ByB a écrit :
> Bonjour,
>
> J'ai développé sous Windows XP

Je précise que mon développement s'est fait avec Visual C++ 6.0.



Pour récupérer le répertoire de l'appli, GetCurrentDirectory doit etre
appelé au début de l'application, avant que le process (votre appli) ait eu
la possibilité de changer ce "directory". Une méthode sure consiste à faire
un appel à GetCurrentDirectory au début de la fonction main pour stocker le
directory de l'application.

voila, sinon GetCurrentDirectory fonctionne sous XP comme elle fonctionnait
sous Win95.

VB
Avatar
Vincent Burel
"ByB" wrote in message
news:
Bonjour,

J'en déduit qu'il est possible que le GetCurrentDirectory() ne
fonctionne pas de la même façon sous XP et sous 98. Peut-être la
fonction ajoute t-elle un backslah ("") pour terminer le chemin, dans
un cas et pas dans l'autre, ce qui pourrait alors expliquer que la
construction du chemin vers le fichier INI ne fonctionne pas ?



C'est effectivement une possibilité , mais je ne la confirmerai pas car je
fait précéder tout traitement de chemin par la ligne :
if (szpath[strlen(szpath)-1] != '') strcat(szpath,"");

VB
Avatar
Christian ASTOR
ByB a écrit :

J'ai développé sous Windows XP un logiciel qui accède à un fichie r INI
qui est stocké dans un sous répertoire du répertoire de l'appli.
J'utilise donc GetCurrentDirectory() pour connaitre le chemin vers
l'appli,



On utilise plutôt GetModuleFileName()...
Avatar
Vincent Burel
"Christian ASTOR" wrote in message
news:
ByB a écrit :

J'ai développé sous Windows XP un logiciel qui accède à un fichier INI
qui est stocké dans un sous répertoire du répertoire de l'appli.
J'utilise donc GetCurrentDirectory() pour connaitre le chemin vers
l'appli,



On utilise plutôt GetModuleFileName()...



pour une DLL oui, mais pour une appli je ne sais pas...
Avatar
Vincent Burel
"ByB" wrote in message
news:
Bonjour,

J'ai envoyé cette appli sur CD à quelqu'un qui l'a faite tourner sous
Windows 98, et là, l'application affiche le message que j'ai prévu si
elle n'arrive pas à accéder à son fichier INI.



Une dernière chose qui me vient à l'esprit, avec la mise sur CD, les
fichiers se retrouvent en Lecture seule... et si l'on a pris l'habitude
d'ouvrir des fichier avec tous les droits READ et WRITE... ca marche plus.
Avatar
Bertrand Lenoir-Welter
Christian ASTOR :

On utilise plutôt GetModuleFileName()...



Ou encore plus simple : on décortique argv[0] au début de main().
Avatar
ByB
Si ByB voulait passer inaperçu, c'est raté ! En effet, grace à lui, le
monde entier sait désormais que
Bonjour,

J'ai développé sous Windows XP un logiciel qui accède à un fichier INI qui
est stocké dans un sous répertoire du répertoire de l'appli. J'utilise donc
GetCurrentDirectory() pour connaitre le chemin vers l'appli, et je concatène
le nom du sous répertoire. L'appli accède ainsi à ses paramètres et tout va
bien.

J'ai envoyé cette appli sur CD à quelqu'un qui l'a faite tourner sous Windows
98, et là, l'application affiche le message que j'ai prévu si elle n'arrive
pas à accéder à son fichier INI.




Merci pour vos idées et conseils.
Une autre idée m'est venue à l'esprit, et ce serait que le
GetCurrentDirectory() ne fonctionne pas "correctement" sous Windows 98
parce que j'utilise des noms de dossiers de plus de 8 caractères de
long (en fait, 11 caractères) et que Windows 98 gère les noms de
dossiers à l'ancienne mode (8.3 du MS DOS), ou alors avec des ~1 à la
fin, qui pourraient provoquer des problèmes lors de la recherche du
dossier.
Je vais donc modifier mes noms de dossiers pour passer à moins de 8
caracètes à chaque fois.



--
L'homme est imparfait mais ce n'est pas étonnant si l'on songe à
l'époque où il fut créé.
[Alphonse Allais]