Programmation C et Ms-DOS

Résolu/Fermé
KissCool936 Messages postés 124 Date d'inscription dimanche 5 octobre 2008 Statut Membre Dernière intervention 30 juillet 2009 - 15 juil. 2009 à 23:13
KissCool936 Messages postés 124 Date d'inscription dimanche 5 octobre 2008 Statut Membre Dernière intervention 30 juillet 2009 - 17 juil. 2009 à 11:55
Bonjour,

A force de devoir visiter les même sites chaque jour, je me suis dis pourquoi ne pas automatiser la tache !!
Puis, étant donné que je suis étudiant en IUT Informatique (je viens de finir ma 1ere année), je me suis dis autant le faire soit même ^^ et pour même ne pas perdre mes acquis le programmer en C (vu de septembre à décembre, avant les grèves ^^' lool) !!

Puis, même étant donné que je suis sous windows quasiment tout le temps, autant le faire sous Windows, mais zut, je veux lancer des appli externes par mon prog (console) en C !!

J'ai la fonction system() qui s'utilise par system("start firefox") et qui fonctionne !!
On peut même faire system("start firefox https://www.google.fr/?gws_rd=ssl")....(sans oublier le ";" à la fin bien sûr ^^) !!


Bref, voilà l'idée, mais avec Firefox j'ai rencontré un problème...car en fait j'ai voulu aller au max de l'automatisation, donc même la fermeture de l'appli !!
Pour ça, j'ai décidé d'utiliser pstools, où dedans il y a PsKill, qui permet de "tuer" un processus, un peu comme sous linux ^^

Bref, le truc c'est que j'ai plusieurs lien et je par exemple si je veux ouvrir une fenêtre (avec firefox) puis la fermer je ne peux en ouvrir une autre derrière car justement le message d'erreur/backup s'affiche !!
(Le message qui dit "restaurer l'ancienne session" ou "démarrer une nouvelle session" !! )


Du coup, j'ai donc cherché un navigateur beaucoup moins développé et puissant, j'ai pris un au hasard "K-meleon" !!

Il est basique mais me suffit car je peux ouvrir une fenêtre après avoir tué le processus juste avant (toujours en automatisant !!)


Petite synthèse : En clair, impossible d'utiliser Firefox car impossible d'ouvrir une new fenêtre sans cliquer sur le message et donc j'ai choisi un navigateur alternatif pour palier à ce problème !!


Donc, en fichier .bat ceci fonctionne, mais bon, c'est pas tout à fait çà car si par exemple je veux boucler sur une liste de site, pour voir par exemple plusieurs site toutes les x minutes bah je dois boucler ^^'

Bref, c'est une évolution du prog ^^' lool

Mais le vrai problème le voilà !! (c'était loooonnnng !!!! >_<' ) !!

Alors, voici le code (rubrique programmation, c'est pas trop tôt pour du code ^^ mdrr j'ai raccourcis à 1 site car c'est répétitif !!)

system("cd C:\\Program Files\\K-Meleon");
        system("start k-meleon https://www.facebook.com/");
        Sleep(x); 
        system("cd C:\\Windows\\PsTools");
        system("PsKill k-meleon");



Voici le code, on a le problème en 1ere ligne ou 2e ligne ^^'
Le truc c'est que le prog compile et se lance !! Mais je me met bien dans le répertoire du prog au cas où, puis je lance le navigateur par start (fonctionne en batch et ms-dos), et justement c'est là le problème, car un message d'erreur me dit :

Windows ne trouve pas 'k-meleon'. Vérifiez que vous avez entré le nom correct, puis réessayez.


Donc voilà le problème, alors que la commande fonctionne sous ms-dos et en batch, donc étant donné que system() exécute les fonctions du système (ms-dos => windows, et shell => Linux) je ne comprend pas...


Donc si quelqu'un pourrait m'aider à résoudre ce problème !!

Je vous remercie d'avance, et désolé pour le roman, mais je tiens à expliquer car sinon toujours des gens arrivent à dire "ça va te servir à quoi ?" "c'est pour pirater" "c'est pour ci ou ça !!"...puis le topic ets bloqué alors que ce n'est pas le cas, surtout qu'ici j'ai déjà eu ce pb alors que je tentai de mettre un noyau linux sur une disquette avec un shell uniquement pour récup des donnée d'un vieux pc, en prenant du recul c'est sûr que ça peut servir à beaucoup de choses néfaste mais là nan ^^ j'ai tout dis ^^ loool


Vlà merci pour aide !!

2 réponses

C'est quoi cette horreur de code ?!!!
system() à tout bout de champ, c'est pas possible de voir ça dans un code !
Surtout sous Windows où c'est interdit (doc Msdn) !
Le C, ce n'est pas du batch !
0
KissCool936 Messages postés 124 Date d'inscription dimanche 5 octobre 2008 Statut Membre Dernière intervention 30 juillet 2009 20
17 juil. 2009 à 11:55
Ah bah désolé...

j'ai programmé en batch le programme et il fonctionne, c'est déjà ça...

Et pourquoi en C on ne peut pas faire ça...on peut demander d'ouvrir une appli, par exemple un navigateur internet, puis de lui demander d'aller à une certaine adresse...nan ?

Et dans ce cas, c'est bien des "system()" qu'il faut utiliser, car mon programme C ne se limitera pas qu'à ça évidemment, puisque j'ai le même en batch !! Sinon je ne l'aurai pas fais en C ^^

Et donc, si ce code est une "horreur" je veux bien mais comment faire, j'appel mon script batch au lieu de tout refaire ? Ou tu a une meilleure méthode ?
0