



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
窗体代码:-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() 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_COMPLETION& = &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_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 Or 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 CreateWaitableTimer _ 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 bInheritHandle 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 Declare 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 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 Public 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.dwLowDateTime = -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 + dblDelayLow ft.dwLowDateTime = CLng(dblDelayLow) lRet = SetWaitableTimer(mlTimer, ft, 0, 0, 0, False) Do lBusy = MsgWaitForMultipleObjects(1, mlTimer, False, INFINITE, QS_ALLIN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 魅力女性的课件
- 济南市2024-2025学年八年级上学期语文月考测试试卷
- 高速路安全知识培训心得
- 高速业务知识培训课件要求
- 医院保洁、中央运输服务方案
- 高血压基本知识培训总结课件
- 建设项目可行性研究技术服务合同
- 抽水蓄能电站移民安置监理评估合同
- 电脑培训知识付费平台课件
- 电脑主机知识培训课件
- 会计从业资格基础知识汇总
- 项目干系人管理评估
- 保险行业纳税筹划案例分析
- 私立民办高中学校项目建议书
- 比亚迪汽车发展史
- 茶与健康 第二讲 茶成分课件
- 手术部位标识
- 项目总结ppt范文
- 医院体检中心现状与五年发展规划
- 高中思想政治-人教版新教材必修1第四课第一框:中国特色社会主义进入新时代教学设计学情分析教材分析课后反思
- 不错!我真的很不错
评论
0/150
提交评论