Lancement au démarrage de l'ordi

ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 - 11 août 2005 à 18:16
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008 - 16 août 2005 à 00:10
Me revoilà, et bonjour à tous !

J'ai fait un programme qui lit un fichier quand il se lance, tout banal.

Ensuite j'ai rajouté qu'il se lance au démarrage de l'ordi. Et là, problème. Il ne lit pas le fichier !!! Quand je lui demande le nom du fichier qu'il doit lire, c'est le bon, et le fichier est dans le meme dossier que le programme.

Or quand je le lance manuellement, tout fonctionne...

Alors je me suis dit que lorsqu'il se lance au démarrage de l'ordi, il se lance pas du "meme" dossier où il est installé. Alors je lui ai demandé de lancer le fichier avec toute l'arborescence C:\.......\MonFichier.
Et là, toujours problème. Et pourtant l'arborescence est bonne...

Merci à tous ceux qui pourront me répondre, et bonne fin(?) de vacances...

7 réponses

ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
11 août 2005 à 18:20
Me répondre serait bien si je mettait une question, bien qu'elle soit évidente :

Où est le pb ? Comment ne lit-il pas le fichier ?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 août 2005 à 19:19
C'est bizarre comme problème, mais tu peux donner le chemin complet du fichier, non?
Avec GetModuleFileName tu obtiens le chemin complet de l'executable, tu peux t'en servir (tu dois pouvoir aussi utiliser GetCommandLine).
Si tu veux savoir de quel dossier est executé ton programme au demarrage, tu fais un MessageBox avec GetCurrentDirectory
0
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
11 août 2005 à 19:47
En fait, au lieu de faire directement fopen("Monfichier" , "r"), j'ai fait comme ça :

char t[MAX_PATH];
char* p = t + GetModuleFileName(instglobale, t, MAX_PATH);
while(*p != '\\') p--;
p++;
strcpy(p, "MonFichier");

et ensuite fopen(t, "r") ...

Ca aurait du changer quelque chose ? (Le fichier étant dans le meme dossier que mon exécutable)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
11 août 2005 à 21:21
Normalement avec cette méthode ca doit marcher. Utilise plutot CreateFile, tu pourra savoir pourquoi l'appel à échoué (avec GetLastError())
0

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

Posez votre question
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
11 août 2005 à 22:49
As-tu essayé de remplacer les \ par des /... c'est bizarre comme problème en effet. Le fichier que tu cherche à ouvrir est-il sur du matériel que windows à besoin de se charger pour l'utiliser (genre disques dur SATA, disque dur USB, clés...)

neodelphi
0
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
12 août 2005 à 11:41
Remplacer les \ par des / n'est pas utile car manuellement tout marche...
Et pour le fichier il est confortablement installé sur mon disque dur.

Je viens de comprendre le problème, mais là je ne suis pas trop bien la logique de l'ordi:
Le nom du fichier à ouvrir est en fait la date d'aujourd'hui. Et quand il se lance automatiquement, ctime me donne pas le bon jour !!!!!
Il me dit qu'on est un samedi en mai ??!!!!
Alors que quand je le lance manuellement, là il trouve le fichier car la date c'est mise à jour...(vendredi 12 aout 2005)...

Et j'ai beau attendre 3-4 minutes avant de lui redemander d'ouvrir le fichier (au cas où il mettrait du temps à actualiser la date) et il me dit toujours une date totalement dépassée...alors que la date écrite dans la barre de taches et la bonne...

Comment ctime me donne une date aléatoire (ou pas) si elle est appelée d'un programme au lancement automatique ?

J'espère que j'ai assez bien expliqué le problème...

Merci de vos aides...
0
neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
16 août 2005 à 00:10
Euh ta pas un programme par hasard sur ton pc qui une fois chargé va chercher l'heure sur internet pour synchroniser ton horloge ?

neodelphi
0
Rejoignez-nous