Lancement au démarrage de l'ordi

Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
- - Dernière réponse : 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...
Afficher la suite 

7 réponses

Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1
0
Merci
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 ?
Commenter la réponse de ncoder
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
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
Commenter la réponse de vecchio56
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1
0
Merci
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)
Commenter la réponse de ncoder
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Normalement avec cette méthode ca doit marcher. Utilise plutot CreateFile, tu pourra savoir pourquoi l'appel à échoué (avec GetLastError())
Commenter la réponse de vecchio56
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
11 août 2008
0
Merci
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
Commenter la réponse de neodelphi
Messages postés
244
Date d'inscription
vendredi 6 mai 2005
Statut
Membre
Dernière intervention
6 avril 2008
1
0
Merci
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...
Commenter la réponse de ncoder
Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
11 août 2008
0
Merci
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
Commenter la réponse de neodelphi