想做个闹钟功能,当系统时间到一个确定值时,就触发。用timer觉得不是很准确,而且频率设太高又耗资源。不知又没有更好的办法?
解决方案 »
- 用WebBrowser每隔一段时间访问有规律变化的网址的问题
- vb6.0调用Excel出错,急,在线等,解决马上结贴
- 怎么用VB 6.0修改CSV 文件?
- 从Gird控件中获取大量数据然后往数据库中保存,如何SQL语句改成为以DECLARE的批处理保存方式使速更快
- 高手们,VB程序员在北京或北方,薪水一般多少呀
- datagrid问题,怎样把将要显示的值一个一个填到datagrid中去呀,datagrid不直接连接数据库
- VB调用C++程序的问题!~!
- 学VB应该向哪方面发展才能有饭吃
- 不知有没有sql数据库备份,恢复的vb的范例?
- vb中时钟的控件叫什么名。从零开始记的那种。我想做一个记费软件
- 讓vsflexgrid8怎樣中間插入一行?
- 一个出学者问题
1.GetTickCount
2.SetTimer,KillTimer
可以的啊,
闹钟没必要精确到1秒以内吧
//频率设太高又耗资源
interval=1000的话,耗不了多少资源的,可以忽略不计
DoEvents
'Game-Loop
Do
Loop While 闹钟响的条件
闹钟响代码
CCRP High Performance Timer Objects [VB6.0]我公司很多项目都是使用此控件,直接对硬件时间进行操作。。
看你的时间精度了
timer触发多每秒18.2次
Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As LongPrivate Sub TimerProc(ByVal lHwnd As Long, ByVal lMsg As Long, ByVal lTimerId As Long, ByVal lTime As Long)
'写入你的代码
End SubPublic Sub StartTimer(lMinute As Long)
lTimerId = SetTimer(0, 0, lMinute, AddressOf TimerProc)
End SubPublic Function StopTimer(lTimerId As Long) As Long
StopTimer = KillTimer(0, lTimerId)
End Function
Option Explicit
Private dtEnd As DatePrivate Sub Form_Load()
dtEnd = DateAdd("n", 1, Now())
Timer1.Interval = 1000
End SubPrivate Sub Timer1_Timer()
If Now() > dtEnd Then
Timer1.Enabled = False
MsgBox "时间到了。", vbInformation
End If
End Sub