模拟电子钟 带语音报时功能
ErrorCode = mciSendString ( “ Open ” & App . Path & “ 0.wav ” & “ type WaveAudio alias wave ” , ReturnString , 256 , 0) ‘打开所选择的文件
ErrorCode = mciSendString ( “ Play wave ” , ReturnSt r , 256 , 0) ‘播放所选择的文件
Case 11
MMControl1.FileName = App . Path & “ 11.wav ”
ErrorCode = mciSendString ( “ Open ” & App . Path & “ 0.wav ” & “ type WaveAudio alias wave ” , ReturnString , 256 , 0 ) ‘打开所选择的文件
ErrorCode = mciSendString ( “ Play wave ” , ReturnStr , 256 , 0 ) ‘播放所选择的文件
End Select
ErrorCode = mciSendString ( “ Close wave ” , ReturnStr , 256 , 0 )
End Sub
以上修改,因为结构上没有本质变化,都要临时载入wave文件,所以速度上没有质的改变,但我们应该知道因为vb中的函数也都是对windows提供的API的封装,所以,直接调用API效率要高于使用vb所提供的语句和函数。
三、实现定时关机和定时报警
对于这两个内容,其实原理是相同的,只是功能不同罢了.下面我们来分析一下它的实现方法.这两个功能都是时时比较设定的时间和当前时间,如果相同,则触发事件,对于定时关机来说就是调用ExitWindowsEx ( ) 函数.而定时报警可以用任何方式 ( 如声音,或形象) 来引起使用者注意.
我们先来看看ExitWindowsEx ( ) 函数的相关知识.
ExitWindowsEx ( )
Vb声明: Declare Function ExitWindowsEx Lib " user32 " Alias " ExitWindowsEx " ( ByVal uFlags As Long , ByVal dwReserved As Long ) As Long
说明: 退出windows,并用特定的选项重新启动, 返回值为 Long 型,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
uFlags Long,指定下述一个或多个标志(用OR运算符合并到一起) EWX_FORCE 强迫中止没有响应的进程
EWX_LOGOFF 中止进程,然后注销
EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以) EWX_REBOOT 重新引导系统