Pagina 1 van 1
start programma, wacht, stop programma , repeat
Geplaatst: 17 mei 2004, 18:17
door maxke
Code: Selecteer alles
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLK_TCK ;
while (clock() < endwait) {}
}
int main ()
{
char link[30];
int delay;
printf("link : ");
fgets(link,30,stdin);
link[strlen(link)-1]='\0';
int n;
printf ("Starting countdown...\n");
for (n=10; n>0; n--)
{
wait (1);
system("NOTEPAD.exe");
printf ("%d\n",n);
}
printf ("FIRE!!!\n");
system("PAUSE");
return 0;
}
Dit is wat ik zover heb. Maar het doet nog niet wat ik wil. Wanneer ik het start doet hij zoals ik wil : notepad open , maar de timer loopt niet verder. Pas wanneer ik notepad afsluit loopt het programma verder en telt het verder en opent het notepad opnieuw.
Hoe kan ik er voor zorgen dat mijn programma in de achtergrond blijft lopen ?
Ik heb alleen nog maar iets in c/beetje c++ gedaan , dus weet niet wat de beste methode is. Graag uw hulp/commentaar om een programma te bekomen waarmee ik een programma kan starten, na een instelbare tijd , bijv. 10 minuten , dan dit proces af te sluiten (op PID bijvoorbeeld) en dan dit programma wederom te openen. Het betreft windows platformen en linux is even buiten de scoop.
Groeten !
Geplaatst: 18 mei 2004, 08:58
door SIR
Heb zoiets al eens voorgehad met een VB-script.
Het had toen iets te maken met het actief zijn van het programma.
Wanneer je je script begint is dat het actieve programma, maar de moment dat je een ander programma start, wordt dat nieuw geopende programma het actieve en staat je script in een soort van "hold" toestand totdat het terug actief wordt.
Je zou moeten voorkomen dat Notepad het actieve programma wordt na het openen ervan, maar hoe dat dat concreet in zijn werk gaat bij deze programmeertaal weet ik niet.
Geplaatst: 18 mei 2004, 11:05
door maxke
Ik dacht zoiets ook al, die "hold" toestand dat zijn job net wel iets te goed...
Ligt het dat gewoon aan de aard van een gecompileerd C-programma dat hij op een system call of whatever wacht van het sluiten van notepad in dit geval ?
Groeten
Re: start programma, wacht, stop programma , repeat
Geplaatst: 18 mei 2004, 12:41
door ubremoved_539
maxke schreef:Code: Selecteer alles
void wait ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLK_TCK ;
while (clock() < endwait) {}
}
Dergelijke manier van 'waits' programmeren is trouwens zeer slecht in een Windows omgeving. Het geeft namelijk geen resources aan andere processen.
Geplaatst: 18 mei 2004, 14:06
door SIR
In VB kan je dat opvangen door het DoEvent()-statement, maar ik weet het niet voor jou probleem.
Geplaatst: 18 mei 2004, 15:30
door maxke
Alvast bedankt voor de reacties, maar uiteindelijk ben ik er nog niet uit he.
Ik wil het wel in orde krijgen, en ja liefst zonder heel de boel op zich te laten wachten.
Wat ik wil maken is eigenlijk een task manager die op een bepaald shedule een bepaald proces start , na x tijd dit proces afsluit en dan herhaalt. Hoe ik het uiteindelijk doe maakt niet uit , maar het moet wel werken.
Kunt ge mij een omgeving aanwijzen , java , visualbasic , ... die dat wel aankan ?
Looking further ...
Geplaatst: 19 mei 2004, 13:58
door Gast
Uiteindelijk heb ik mijn probleem opgelost met nncron.
Dit is het crond equivalent maar dan voor windows.
Ook een freeware mouse macro gebruikt omdat ik uiteindelijk notepad niet wou gebruiken, maar wel mozilla. Dit omdat wanneer mozilla gestart wordt , er maar 1 PID aanwezig blijft en alle windows die je opent onder dat zelfde PID actief blijven.
Dus met taskkill /F /im zou je heel het proces sluiten ook al zijn er vensters die je open zou willen laten staan. Maar soit. Mijn eerste stap is gezet en het werkt onder gecontroleerde omgeving zonder er nog een muisklik aan te moeten doen.
Toch bedankt !