免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流供应链优化与仓储管理效率提升方案
- 碳核查工作考核指标体系构建
- 项目收尾与总结评估报告模板
- 小学教师教学能力提升计划
- 中级碳排放监测员培训计划
- 保姆育婴师工作指南如何制定每日工作安排
- 碳信托项目合作方满意度调查报告
- 企业人才梯队建设与领导力发展计划
- 安全员安全教育培训方案题
- 薪酬福利方案与员工激励机制
- 金属行业入门知识培训课件
- 一带一路人工智能+数字基础设施建设研究报告
- 校友交流社区创新创业项目商业计划书
- 语言学术研究前沿领域与趋势总结
- 人教PEP版(2024)四年级上册英语单元词汇表
- 后浇带格构柱独立支撑设计要点
- 技术总工岗位认知
- 保安及食堂人员安全培训课件
- 2024版2025秋贵州黔教版综合实践活动二年级上册全册教案教学设计
- 全国大学生职业规划大赛《现代物流管理》专业生涯发展展示【高职(专科)】
- 桥梁墩柱施工安全教育培训课件
评论
0/150
提交评论