让程序在MFC+中每小时运行某些函数+; 我试图创建一个程序,它在MFC C++中每小时运行某些函数。

让程序在MFC+中每小时运行某些函数+; 我试图创建一个程序,它在MFC C++中每小时运行某些函数。,c++,mfc,C++,Mfc,我找不到任何关于如何做到这一点的好教程,因为我仍在学习过程中,并试图扩大我在这方面的知识 只是一些小东西,这样我就不会只是问一些空问题,到目前为止,我创建了一个程序,从.INI文件中读取值,并将其存储在程序中的全局变量中。我已经设法让它在系统托盘中无限期地运行,我的计划是最终每小时将一些文本从.txt文件解析为.csv文件 因此,重申一下,有谁能向我解释一下如何做到这一点的逻辑和粗略方法吗?对于我的学习过程,我只想知道我能如何表现出来 MessageBox("Hello"); 每1分钟

我找不到任何关于如何做到这一点的好教程,因为我仍在学习过程中,并试图扩大我在这方面的知识

只是一些小东西,这样我就不会只是问一些空问题,到目前为止,我创建了一个程序,从.INI文件中读取值,并将其存储在程序中的全局变量中。我已经设法让它在系统托盘中无限期地运行,我的计划是最终每小时将一些文本从.txt文件解析为.csv文件

因此,重申一下,有谁能向我解释一下如何做到这一点的逻辑和粗略方法吗?对于我的学习过程,我只想知道我能如何表现出来

MessageBox("Hello");    

每1分钟左右,仅为我自己的理解。

当您使用
MFC
时,我假设您使用的是Windows操作系统

实现这一点的正常方法是使用Windows中的任务计划程序,以所需的时间间隔计划程序的运行。(您也可以使用任务计划程序配置命令行参数)


我不愿意在应用程序本身中使用计时器,因为我怀疑这种方法的稳定性。

使用Windows计时器。获取墙时间并计算在下一个XX:00之前还有多少毫秒。将计时器间隔设置为(比如)一半。在计时器处理程序中,重复该计算和计时器设置,直到剩余时间小于1000 ms,然后将计时器设置为剩余间隔。下次它启动时,执行您的操作,然后设置下一个小时的计时器


你可以用这样的方式“悄悄地”计算时间。

首先,看看你进展如何。你为什么不愿意使用计时器?如果您需要外部触发器,当您的应用程序未运行时,任务调度器非常好。但是,如果您的应用程序正在运行并且需要执行定期活动,那么计时器是正确的工具。此外,它还取决于OP所说的“每小时”的含义。可以是“墙时间分钟从59分钟到0分钟的每一个实例”,或者“大约每60分钟一次”。这正是nik Bogalis所说的。我必须使用定时器,因为程序必须是24/7。它要解析的文本将来自一个整天不断更新的.txt文件。马丁:我说的每小时都是指我的程序会在凌晨1点、2点、3点、4点、5点等等不确定的时间运行。在这种情况下,我肯定会使用任务调度器来完成这项任务。但是,感谢您的个人意见。我真的非常感谢您的建议,我自己也曾想过使用任务调度器,但这意味着我不会学习计时器,这是我目前的主要目标,以扩展我的知识,并在MFC编程方面提高我自己。