VB类模块实现延时功能备课讲稿

上传人:go****e 文档编号:137422649 上传时间:2020-07-08 格式:DOC 页数:6 大小:21.50KB
返回 下载 相关 举报
VB类模块实现延时功能备课讲稿_第1页
第1页 / 共6页
VB类模块实现延时功能备课讲稿_第2页
第2页 / 共6页
VB类模块实现延时功能备课讲稿_第3页
第3页 / 共6页
VB类模块实现延时功能备课讲稿_第4页
第4页 / 共6页
VB类模块实现延时功能备课讲稿_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《VB类模块实现延时功能备课讲稿》由会员分享,可在线阅读,更多相关《VB类模块实现延时功能备课讲稿(6页珍藏版)》请在金锄头文库上搜索。

1、VB类模块实现延时功能精品文档窗体代码:-Private mobjWaitTimer As clsWaitableTimer Private Sub RunProcess() Set mobjWaitTimer = New clsWaitableTimer Do If mbWorkToDo Then Call ProcessWork Else mobjWaitTimer.Wait (5000) 延时5秒 自行更改 End If Loop Until Not mbStop Set mobjWaitTimer = Nothing End Sub Private Sub Command1_Click

2、() RunProcess Print 有没有延时成功呢? RunProcess Print 应该有吧 End Sub类模块代码:-Option Explicit Private Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Private Const WAIT_ABANDONED& = &H80& Private Const WAIT_ABANDONED_0& = &H80& Private Const WAIT_FAILED& = -1& Private Const WAIT_IO_COMPLETIO

3、N& = &HC0& Private Const WAIT_OBJECT_0& = 0 Private Const WAIT_OBJECT_1& = 1 Private Const WAIT_TIMEOUT& = &H102& Private Const INFINITE = &HFFFF Private Const ERROR_ALREADY_EXISTS = 183& Private Const QS_HOTKEY& = &H80 Private Const QS_KEY& = &H1 Private Const QS_MOUSEBUTTON& = &H4 Private Const QS

4、_MOUSEMOVE& = &H2 Private Const QS_PAINT& = &H20 Private Const QS_POSTMESSAGE& = &H8 Private Const QS_SENDMESSAGE& = &H40 Private Const QS_TIMER& = &H10 Private Const QS_MOUSE& = (QS_MOUSEMOVE Or QS_MOUSEBUTTON) Private Const QS_INPUT& = (QS_MOUSE Or QS_KEY) Private Const QS_ALLEVENTS& = (QS_INPUT O

5、r QS_POSTMESSAGE Or QS_TIMER Or QS_PAINT Or QS_HOTKEY) Private Const QS_ALLINPUT& = (QS_SENDMESSAGE Or QS_PAINT Or QS_TIMER Or QS_POSTMESSAGE Or QS_MOUSEBUTTON Or QS_MOUSEMOVE Or QS_HOTKEY Or QS_KEY) Private Const UNITS = 4294967296# Private Const MAX_LONG = -2147483648# Private Declare Function Cre

6、ateWaitableTimer _ Lib kernel32 _ Alias CreateWaitableTimerA (ByVal lpSemaphoreAttributes As Long, _ ByVal bManualReset As Long, _ ByVal lpName As String) As Long Private Declare Function OpenWaitableTimer _ Lib kernel32 _ Alias OpenWaitableTimerA (ByVal dwDesiredAccess As Long, _ ByVal bInheritHand

7、le As Long, _ ByVal lpName As String) As Long Private Declare Function SetWaitableTimer _ Lib kernel32 (ByVal hTimer As Long, _ lpDueTime As FILETIME, _ ByVal lPeriod As Long, _ ByVal pfnCompletionRoutine As Long, _ ByVal lpArgToCompletionRoutine As Long, _ ByVal fResume As Long) As Long Private Dec

8、lare Function CancelWaitableTimer Lib kernel32 (ByVal hTimer As Long) Private Declare Function CloseHandle Lib kernel32 (ByVal hObject As Long) As Long Private Declare Function WaitForSingleObject _ Lib kernel32 (ByVal hHandle As Long, _ ByVal dwMilliseconds As Long) As Long Private Declare Function

9、 MsgWaitForMultipleObjects _ Lib user32 (ByVal nCount As Long, _ pHandles As Long, _ ByVal fWaitAll As Long, _ ByVal dwMilliseconds As Long, _ ByVal dwWakeMask As Long) As Long Private mlTimer As Long Private Sub Class_Terminate() On Error Resume Next If mlTimer 0 Then CloseHandle mlTimer End Sub Pu

10、blic Sub Wait(MilliSeconds As Long) On Error GoTo ErrHandler Dim ft As FILETIME Dim lBusy As Long Dim lRet As Long Dim dblDelay As Double Dim dblDelayLow As Double mlTimer = CreateWaitableTimer(0, True, App.EXEName & Timer & Format$(Now(), NNSS) If Err.LastDllError ERROR_ALREADY_EXISTS Then ft.dwLow

11、DateTime = -1 ft.dwHighDateTime = -1 lRet = SetWaitableTimer(mlTimer, ft, 0, 0, 0, 0) End If dblDelay = CDbl(MilliSeconds) * 10000# ft.dwHighDateTime = -CLng(dblDelay / UNITS) - 1 dblDelayLow = -UNITS * (dblDelay / UNITS - Fix(CStr(dblDelay / UNITS) If dblDelayLow MAX_LONG Then dblDelayLow = UNITS +

12、 dblDelayLow ft.dwLowDateTime = CLng(dblDelayLow) lRet = SetWaitableTimer(mlTimer, ft, 0, 0, 0, False) Do lBusy = MsgWaitForMultipleObjects(1, mlTimer, False, INFINITE, QS_ALLINPUT&) DoEvents Loop Until lBusy = WAIT_OBJECT_0 CloseHandle mlTimer mlTimer = 0 Exit Sub ErrHandler: Err.Raise Err.Number, Err.Source, clsWaitableTimer.Wait & Err.Description End Sub收集于网络,如有侵权请联系管理员删除

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号