Programme en C, petit problème...
Dernière réponse : dans Programmation
Bonsoir :-)
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-)
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-)
Autres pages sur : programme petit probleme
Lassé par la pub ? Créez un compte
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 ?!
Merci quand même ^__^
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 :-)
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 :-)
Citation :
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
Alors si quelqu'un pourrait me donner un dernier (j'espère) coup d'main, j'serai pas contre ! :-)
merci d'avance
Citation :
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\"");
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumC quoi un programme
- ForumC programme batch
- ForumC executer programme externe
- ForumC est quoi un programme
- ForumC lancer programme avec argument
- ForumC executer un programme externe
- ForumC probleme affichage programme entre quotes
- ForumUn petit programme en c
- ForumComment faire un petit programme
- ForumPetit programme excel
- Voir plus