Bonjour, je débute en programmation sous delphi et malgré que ce soit un simple passe-temps entre deux créations de site internet, je commence à m'arracher les cheveux, héhéhéhé
Bien, voici donc mon problème :
Quand je clique sur le seul et unique bouton, qui est aussi le seul et unique élément de ma seule et unique form, mon code lance une application -externe- avec CreateProcess.
Juque là, rien de bien méchant, on est d'accord... mais l'application externe, elle, elle fait un truc et puis dès qu'elle a fini, elle fait plus rien ! En gros, elle est IDLE, disons qu'elle a bossé durant 4 minutes 37 secondes (a modifier des fichiers sur le disque dur) et puis maintenant, elle fume une cigarette, en gros, plus rien... elle a fini son office mais elle ne se ferme pas toute seule !
Le seule Hic, c'est qu'elle est toujours lancée (elle ne se termine pas une fois son travail fait, et je ne peux rien y changer, cette application n'est pas de moi). Le problème c'est que je voudrais qu'elle cède la place à une autre application du même type qui va elle aussi modifier des fichiers sur le disque dur.
Mon problème n'est pas que cette application soit toujours lancée mais que tant qu'elle n'a pas fini de travailler (durant -disons- 4 minutes 37 secondes), je ne peux pas lancer l'autre application.
Je voudrais donc savoir quand l'application externe est IDLE (en gros, qu'elle fait plus rien...) pour la tuer, et pouvoir lancer la deuxieme application externe. Sinon, je lance les deux applications en même temps, l'ordinateur rame, tout le monde est ennervé (j'abuse pas, nan nan) et au lieu de mettre 2x~5 minutes pour faire le job, faudra compter ~20 minutes! Exponentiellement parlant, ça devrait ~10 minutes mais c'est faux, j'ai essayé, faut au moins compter 17 minutes sur un Athlon XP 2800+ Barton avec disque IDE.
Si au moins, le travail des applications -externes- avait une durée précise et constante à chaque utilisation (disons 5 minutes), je ferais un sleep et basta mais là, c'est pas possible !
Donc en gros, comment savoir si une application externe, lancée avec CreateProcess est en train de se tourner les pouces après un job d'au moins 1 minutes. Peut-être en regardant son taux d'utilisation cpu mais comment faire, i don't know !
Pour info, j'utilise Delphi 2005 edition personnelle... et là, je parle pour une application Delphi pour WIN32 (comme écrit dans le titre de la topic) mais je peux aussi bien travailler sur les autres possibilités offertes par Delphi 2005 (.NET, etc)... façon, j'y connais rien alors !
Voilà, merci d'avoir lu mon roman... et j'attends vos réponses avec grande impatience, pour ceux qui veulent une dédicase, ça peut s'arranger
Bonne journée,
DaRiaN.
Merci d'avance, sincèrement et désolé si j'ai fais une petite boulette.
Partager