Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un programme pour en utiliser d'autres...

Non, ce n'est pas un remake du seigneur des anneaux^^

    21 mars 2008 à 15:16:30

    Salut tous les zér0s!

    Bon, je poste ici parce que j'aurais besoin d'un pitit coup de main:
    Pour faire le ménage de mon ordinateur, j'utilise plusieurs logiciels, comme hitman pro, le défragmenteur, le nettoyage de disque, etc etc.
    Mais voila, faire tout ca, c'est long, surtout que mon pc est déjà rempli a peu près au 3/4 de ses 320 go de disque dur.
    Donc, naturellement, j'éxécute tous ces programmes quand je ne suis pas la. Sauf que comme je suis pas la, je ne peux en lancer qu'un a la fois, et du coup je suis obligé de faire les autres après. (si je les lance tous en même temps, ca finit invariablement par un joli bug ou un 1% d'avancement toutes les heures...)

    Donc, en tant que codeur fou et noob que je suis, j'ai décidé de coder un ptit programme maison pour éxécuter ces programmes les uns après les autres sans que j'ai besoin de rien faire.

    Bon, jusqu'ici, pas de problèmes (system(truc);, je sais faire, enfin je crois :p ), mais ca se complique peu après :
    Essayez de lancer le défragmenteur : vous avez une jolie fenêtre, mais rien ne se passe. Normal puisqu'il faut que l'utilisateur appuie sur le bouton "Défragmenter".
    Mais mon programme, avec ses 3 gentils system(truc); qui se courent après, il sait pas faire ca, lui!!
    Et moi je sais pas comment lui dire de le faire.(noob for ever^^)

    Conclusion (enfin^^) : est ce que quelqu'un pourrait m'apprendre comment faire ca, ou si c'est trop compliqué, m'expliquer gentiment que c'est pour les grandes personnes :lol::lol:

    Merci d'avance pour vos réponses :)
    • Partager sur Facebook
    • Partager sur Twitter
      21 mars 2008 à 17:41:00

      Salut.
      Pour le défragmenteur, vu que tu n'es pas là quand il doit se lancer, tu n'as pas forcément besoin de l'interface graphique.
      Tu peux donc le lancer en ligne de commande :
      defrag c:


      Mais bon, le mieux serait bien entendu de le lancer en mode "caché" et de capturer la sortie pour éventuellement afficher l'avancement avec ton prog.

      Regardes du côté des threads avec la fonction CreateProcess (pour le thread) ainsi que CreatePipe pour récupérer en temps réel la sortie de la console Windows.

      Si ça t'intéresse, j'avais fait, il y a quelques temps, une petite application windows pour compresser des dossiers pendant que je n'était pas sur l'ordi.
      C'est du Win32 pur et dur (et ça date de 2004) mais ça marchait tip-top.

      En tout cas, bonne chance

      Xav'
      • Partager sur Facebook
      • Partager sur Twitter
      Portail français wxWidgets : wxDev.fr | Quelques progs + libs wxWidgets compilées : mywxstuff
        21 mars 2008 à 19:13:57

        Il y a sans doute beaucoup plus simple, par exemple utiliser le gestionnaire de tâches planifiées.
        • Partager sur Facebook
        • Partager sur Twitter
        Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
          23 mars 2008 à 11:28:49

          Xaviou -> Merci pour les conseils (même si j'ai pas tout compris :p )
          int21h -> C'est sûr, mais je voulais faire ca plus pour le fun que par réel besoin (et pour m'entraîner un peu aussi :) )
          • Partager sur Facebook
          • Partager sur Twitter

          Un programme pour en utiliser d'autres...

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown