有没有办法捕获Windows API SetTimer事件的剩余时间?

时间:2015-03-03 00:16:10

标签: timer vb6

我在VB6程序中成功实现了SetTimer Win API函数。在扫描文件夹并执行过程之前,用户可以在INI文件中设置任何延迟(以分钟为单位)。

我想知道在计时器准备好执行程序代码之前是否有办法获得剩余的毫秒数(或分钟数)?例如,如果用户为计时器配置了20分钟,则程序将SetTimer间隔设置为20分钟。 * 60000将其转换为毫秒。用户想知道的任何时候 - “程序执行开始之前,定时器间隔将为'0'多长时间?”任何人都可以提出建议吗?

由于

标记

1 个答案:

答案 0 :(得分:0)

存储调用SetTimer的时间,并将该时间与用户请求剩余时间的当前时间进行比较。

要使用相同的格式,您可以使用GetTickCount API

Option Explicit

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private mlngStartTime As Long

Private Sub Command1_Click()
  Print "seconds remaining : " & CStr((mlngStartTime - GetTickCount) \ 1000)
End Sub

Private Sub Form_Load()
  mlngStartTime = GetTickCount + 20 * 60000
End Sub