我们可以为自己使用计时器吗?

时间:2010-01-25 10:06:58

标签: c++ winapi

实际上这就是我想做的事情;

当条件出现时,我的程序将自行关闭,五分钟后它将重新打开。

是否只能使用一个.exe -by使用任何OS属性 - ?

我用两个.exe

来做
if (close_condition){
     //call secondary program
     system ("secondary.exe");
     return (0);
}

我的辅助程序只等了五分钟就打电话给主程序。

main (){
     Sleep (300000)//sleep for five minutes;
     system ("primary.exe");
     return (0);
}

我想在没有辅助程序的情况下这样做。

(抱歉英语不好)

2 个答案:

答案 0 :(得分:3)

如果给出了一个开关(例如myapp.exe /startme),你可以使用一个只有不同行为的应用程序。

顺便说一下,

system()是一个同步调用,它只在命令运行完成时返回。在win32中,CreateProcess()正是您所寻找的。

您也可以按照Jays的建议,让操作系统使用NetScheduleJobAdd()安排您的工作。

但是,根据您要实现的目标,更好的解决方案可能是将应用程序隐藏5分钟。

答案 1 :(得分:1)

我认为你必须使用系统任务调度程序来安排重新启动,这在某种意义上是使用另一个应用程序,但是它是操作系统的一部分。

我确信这可以做到,但坦率地说,我认为你应该坚持使用当前的设置。