Je suis actuellement en train de faire un programme qui me permettra de remplacer tout les programmes se lançant automatiquement au démarrage de Windows (XP Pro).
C'est-à-dire, par exemple : system ("start wmplayer.exe" );
et d'autres programmes comme ça... Celà marche avec un certain nombre, mais pour d'autres (Par exemple mon firewall Zone Alarm ou mon antivirus Antivir), il me met, lors de l'execution de mon programme que le .exe est introuvable...
Je peine à trouver comment faire en sorte qu'il le "trouve"...
Merci d'avance pour vos aides ! 8-)
Tu fais surement ça pour t'amuser :-)
Mais si tu fais glisser les programmes que tu veux faire démarrer au démarrage de windows dans : démarrer\Programme\Démarrage normalement ça se fait tout seul.
euh... oui sa je sais !.. Mais enfait c'est avec le programme que j'aimerai réussir... pour la simple et bonne raison que dans le programme que je fais, l'ordre d'exécution des progr. à lancer, je le choisi moi, et que j'aimerai faire un autre programme comme sa, un pour quand je suis connecté au web et l'autre non (histoire qu'il me lance pas msn ou d'autre progr. pour le web quand je suis déconnecté...) Juste pour faire pratique et gagner du temps.. cela peut aussi m'aider si j'ai des spyware ou autre qui s'insallent et qui se lancent au démarrage du système.. là je pourrai plu les rater vu que j'aurai qu'un programme qui va lancer tout les autres... tu me suis j'espère ?!
Ok je vois ce que tu veux faire.
Effectivement c'est bizzard que ton programme ne trouve pas le .exe, tu l'as pourtant bien trouvé toi !
Donc avec le bon chemin ton prog devrait trouver sans problème l'exécutable.
J'espère que d'autres que moi t'aideront.
J'y avais déjà pensé, mais les 2possibilités que j'avais en tête n'ont pas fonctionnées...
J'ai essayé ainsi :
system ("start c:\program files\...\zlclient.exe" );
là, c'est les \ qui dérangeais (normal pour un backslash)... j'ai donc essayé comme cela :
system ("start c:%cprogram files%c...%czlclient.exe",92,92,92);
le 92 représentant le \ dans la table ASCII... et là, pareil, y trouve pas l'exe. :-(
please ! help me ! Merci d'avance :-)
ataofeal a écrit :
salut,
il faut utiliser des \\ dans ton programme, ce qui te donne :
system ("start c:\\program files\\...\\zlclient.exe" );
Faut expliquer pourquoi ;-)
le \ sert à interpréter le caractère suivant, comme par exemple n: \n est le retour à la ligne.
Donc pour affichier le caractère \, on interprète le caractère \: \\ est le caractère \
Merci ! Sa marche... Presque ! Je m'explique ; effectivement le fait de mettre "\\" change apparemment la chose, mais maintenant, il semblerait que sa soit l'espace qu'il n'aime pas... (il me dit qu'il ne trouve pas "c:\program" )... je vien d'essayé de remplacer l'espace par un %c , 20 (l'espace en ASCII) mais toujours rien :-(
Alors si quelqu'un pourrait me donner un dernier (j'espère) coup d'main, j'serai pas contre ! :-)
merci d'avance
Djije a écrit :
Merci ! Sa marche... Presque ! Je m'explique ; effectivement le fait de mettre "\\" change apparemment la chose, mais maintenant, il semblerait que sa soit l'espace qu'il n'aime pas... (il me dit qu'il ne trouve pas "c:\program" )... je vien d'essayé de remplacer l'espace par un %c , 20 (l'espace en ASCII) mais toujours rien :-(
Alors si quelqu'un pourrait me donner un dernier (j'espère) coup d'main, j'serai pas contre ! :-)
merci d'avance
Il ne faut pas mettre de backslash avant l'espace, car celui-ci n'est pas interprété par le compilateur dans une chaine de caratère.
Le problème ici ne vient pas du C mais de la commande batch:
start c:\program files\...\zlclient.exe
est incorrect, il faudrait mettre:
start "c:\program files\...\zlclient.exe"
car les espace sont interprété par le batch comme le séparateur de paramètres. Il croyait que "c:\program" était le premier paramètre et "files\...\zlclient.exe" le second.
Là par contre, le " est interprété (puisque qu'il signifie la fin de la chaîne de caractère), donc c'est comme pour le \\, il faut mettre \" pour que les guillements soient conservés dans la chaine de caractères.
Bref, au final:
system("start \"c:\\program files\\...\\zlclient.exe\"" );
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.