C++ 我能告诉你等待计时器什么时候会按手柄启动吗?

C++ 我能告诉你等待计时器什么时候会按手柄启动吗?,c++,windows,winapi,timer,C++,Windows,Winapi,Timer,比方说,如果我使用API创建了一个可等待计时器,然后使用SetWaitableTimer设置它。我能知道只有第一个API返回的句柄才会触发计时器吗?不,你不能 但是没有什么可以阻止您创建一个包装器对象,该对象将发布一个类似的API,记录目标时间(通过将到期时间添加到调用SetWaitableTimer时的当前时间),并将未完成时间作为调用查询方法时的当前时间之间的差值提供给您,还有目标时间。是的,谢谢。这就是我现在正在做的,但我观察到,如果系统时间发生变化(比如,由于每天的时间调整,或者更平常的

比方说,如果我使用API创建了一个可等待计时器,然后使用SetWaitableTimer设置它。我能知道只有第一个API返回的句柄才会触发计时器吗?

不,你不能


但是没有什么可以阻止您创建一个包装器对象,该对象将发布一个类似的API,记录目标时间(通过将到期时间添加到调用
SetWaitableTimer
时的当前时间),并将未完成时间作为调用查询方法时的当前时间之间的差值提供给您,还有目标时间。

是的,谢谢。这就是我现在正在做的,但我观察到,如果系统时间发生变化(比如,由于每天的时间调整,或者更平常的是,由管理员用户手动调整),计时器将在不同于我设置计时器的时间触发,显然是因为系统时间已调整,而我的“包装”datetime变量没有反映这种变化。这就是为什么我想直接从计时器句柄获取时间。@ahmd0-如果您实现了一个规则,如“如果触发时间不足1分钟,请等待,否则请取消计时器”,您可以通过创建两个计时器来实现,其中一个在主计时器之前1分钟触发。这将在系统时间变化时正确运行。是的,这是一个很好的解决方案。复杂的一个:(我只是在寻找一个简单的解决办法。。。