需要声明API,声明如下:(模块中)
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
然后,调用的时候是这样的:
DoEvents
Sleep 1000 '这里的单位是ms
sleep 貌似是调用系统的dll函数,就是sleep(n)的格式,
就是让程序停止n毫秒,n毫秒后继续执行
Private Declare Sub Sleep Lib "Kernel32" (ByVal NextRunProgramTimeAsMs As Long)
Private Sub Form_Load()
Sleep (1000)
End Sub
等待函数:
Win32 API提供了一组能使线程阻塞其自身执行的等待函数。这些函数只有在作为其参数的一个或多个同步对象(见下小节)产生信号时才会返回。在超过规定的等待时间后,不管有无信号,函数也都会返回。在等待函数未返回时,线程处于等待状态,此时线程只消耗很少的CPU时间。
使用等待函数即可以保证线程的同步,又可以提高程序的运行效率。最常用的等待函数是WaitForSingleObject,该函数的声明为:
DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);
参数hHandle是同步对象的句柄。参数dwMilliseconds是以毫秒为单位的超时间隔,如果该参数为0,那么函数就测试同步对象的状态并立即返回,如果该参数为INFINITE,则超时间隔是无限的。函数的返回值在表12.1中列出。