如何在C++; 我有一个C++窗口服务,每15分钟调用一个函数。我是C++新手,不知道该怎么做。有人能告诉我如何实现这个吗?

如何在C++; 我有一个C++窗口服务,每15分钟调用一个函数。我是C++新手,不知道该怎么做。有人能告诉我如何实现这个吗?,c++,windows,scheduling,C++,Windows,Scheduling,谢谢, SuBrAt/P>< P> C++中有 标题(C中的代码> ),它提供了一些基本的低级时间功能。然而,如果您正在寻找更接近c#计时器的东西,那么您可以使用Qt的QTimer类。了解-这是一件好事。有许多库提供计时器 您使用的是什么操作系统和什么库?您可以使用(甚至是来自ctime头的标准C时间相关函数)自己实现一个,或者,如果您使用的是处理主循环的库,它肯定会提供一些函数。调用 或者,使用,它可以按照预定义的计划执行常规的.exe或COM处理程序。如果你这样做,你甚至可能不需要服务。Qt

谢谢,
SuBrAt/P>< P> C++中有<代码> <代码>标题(C中的代码> <代码>),它提供了一些基本的低级时间功能。然而,如果您正在寻找更接近c#计时器的东西,那么您可以使用Qt的
QTimer
类。了解-这是一件好事。

有许多库提供计时器

您使用的是什么操作系统和什么库?您可以使用(甚至是来自
ctime
头的标准C时间相关函数)自己实现一个,或者,如果您使用的是处理主循环的库,它肯定会提供一些函数。

调用


或者,使用,它可以按照预定义的计划执行常规的
.exe
或COM处理程序。如果你这样做,你甚至可能不需要服务。

Qt
很好,但如果这是为一家公司,你必须知道
Qt
不是免费的。Qt-LGPL切换已经快两年了。这可能是一个愚蠢的问题:)。那里的文件有.hpp扩展名。它们是什么?我可以在代码中使用它吗?我的文件有.CPP扩展。它们是C++的头文件。您可以像使用扩展名为
.h
的经典头文件一样使用它们:只需将它们包含在Boost文档中的
中即可。我想我用不了。对于所提供的实现,可测量的最大运行时间可能低至596.5小时(甚至更少)。由于这些限制,不能依赖此计时器的健壮性,如果有任何问题,则不应使用此计时器。@Subrat:当然,只要有时间,15分钟的计时器都可以工作。无论如何,我认为在大多数情况下使用Boost::Timer是正确的方法;如果您对某些外来系统有一些非常特殊的需求,您应该仅为此类系统重新实现计时器例程(使用宏条件:
#ifdef
),使用系统特定的调用来满足您的需求。+1对于这样一个简单的、特定于平台的需求,无需使用Boost。我如何使用任务调度器?我查看了MSDN文章。它们不是很清楚。我想执行一个.exe。如何在激活时指定地址?@Subrat:以下是任务计划程序2.0API(Vista及更高版本)的教程:。如果你需要XP支持,你会想看看旧的1.0API。下面是一些例子:我在C++中创建了一个调度器。我已经设置了所有的参数,并且任务被配置成只有当用户登录时提供了用户名(通过设置TaskJavaRunRunixLyIfILLoggEdEdon标志来完成)。当我尝试运行该任务时,我得到一个状态“无法启动”。现在,假设我手动编辑任务属性中的任何属性,然后单击OK,任务运行正常。注意:指定的手动编辑可以是任何内容,例如仅在可执行名称或用户名的末尾添加空格。有什么问题吗?