deejay2221
Messages postés9Date d'inscriptionlundi 4 avril 2005StatutMembreDernière intervention 9 septembre 2008
-
7 avril 2007 à 23:06
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 2007
-
8 avril 2007 à 23:30
Bonjours
Je me suis fait un exécutable en C++ qui est appelé par un AUTORUN.INF
Cet autorun va lire une clé de régistre et si la version de Windows est 2000, XP ou Vista (version NT finalement...), il va aller exécuter un autre exécutable sur le CD (un fichier exécutable .Net cette fois-ci créé en C#)
Le problème est que lorsque je lance le fichier manuellement, tout fonctionne comme il se doit. Par contre, quand j'insère le CD contenant les 3 fichiers (autorun.inf et mes deux exécutables), le premier exécutable s'exécute sans problème, il va voir que la version de Windows est NT mais lorsqu'il vient pour exécuter mon 2e fichier, j'ai un message qui dit:
"Windows ne trouve pas '(fichier2).exe'. Vérifiez que vous avez entré le nom correctement et essatez à nouveau. Pour rechercher un fichier, cliquez sur le bouton Démarrer, puis Rechercher."
Comme j'ai dit plus haut, quand j'exécute le fichier 1 (en c++) manuellement, tout fonctionne correctement, donc ce n'est pas un erreur de chemin que j'aurais mal entré. Le problème vient de l'autorun mais... je ne comprend vraiment pas d'où vient le problème.
Merci de votre aide !
Cphil51
Messages postés87Date d'inscriptionjeudi 22 juin 2006StatutMembreDernière intervention24 septembre 2007 8 avril 2007 à 00:18
Recupere le chemin d'accès de ton premier executable (dynamiquement). Ensuite, lance le deuxième exe avec un chemin absolu et non relatif (a partir du chamin trouvé). Je pense que le problème viens de la.
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 8 avril 2007 à 23:30
Salut.
Oui c'est vrai que c'est bizarre, il a toujours distingué le current directory du working directory, et en plus il le règle dans les documentsANDsettings par defaut pour tous les executables 32bits ?!
Sinon si tu as plusieurs executables a appeler dans le meme dossier il y a une fonction de l'api windows, SetCurrentDirectory() je crois (à vérifier), qui te permet de fixer le path une bonne fois pour toute histoire d'utiliser des chemins relatifs et non plus absolus.