用vb.net实现闹钟提醒程序

用vb.net实现闹钟提醒程序,第1张

一个提醒程序 最典型的就是闹钟程序 网上有不少个性化的提醒程序下载 但是大部分都是以时间为主的闹钟提醒 我们也可以用来打造一个适合自己的提醒程序 比如监控一个某个应用程序的变化然后发出声音提醒自己等等

一个提醒程序 最重要能在符合提醒条件的时候发出声音来提醒使用者 在这里 我们就对具体的提醒条件啰嗦了 只针对如何实现提醒声音的播放进行说明

在的 net组件中 并没有提供播放声音文件的组件 但是我们可以通过使用Com组件来播放声音文件 但是 要注意的事 我们只需要发出提示的声音而已 并不需要像播放器那样播放不同格式的声音文件和繁多的列表 所以我们可以通过API函数来循环播放单个的声音文件

在WindowsAPI函数的有一个PlaySound函数 它用于播放WAV格式的声音文件 我们可以用它来反复播放一个指定的WAV文件来实现提醒功能

首先在中引入API声明

Public Declare Function PlaySound Lib winmm dll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer

然后定义几个我们程序中必须用到的dwFlags参数常量

同步调用PlaySound中指定的文件 播放完WAV文件后才返回结果

Const SND_SYNC As Integer = &H

异步调用PlaySound中指定的文件 不必等到播放完WAV文件后就直接返回结果 在这里我们可以调用异步方法来播放文件

Const SND_ASYNC As Integer = &H

反复播放指定的WAV文件

Const SND_LOOP As Integer = &H

在调用的时候hModule参数必须为

需要停止的时候通过调用PlaySound(vbNullString )来实现现在我们在窗体上放置两个按钮 一个用于开始播放 一个用于停止播放 然后再放置一个TextBox控件 用于指定WAV文件的路径 界面如下图所示

图一 示例界面

完整代码如下

Public Declare Function PlaySound Lib winmm dll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer

Const SND_FILENAME As Integer = &H

Const SND_ALIAS As Integer = &H

Const SND_SYNC As Integer = &H

Const SND_ASYNC As Integer = &H

Const SND_LOOP As Integer = &H

Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click

PlaySound(TextBox Text SND_LOOP Or SND_ASYNC)

End Sub

Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click

PlaySound(vbNullString )

End Sub

运行 在TextBox 中输入有效的WAV文件的路径 然后单击开始 就可以循环播放声音了 单击停止按钮就可以停止播放

lishixinzhi/Article/program/net/201311/12453

Private Sub Timer1_Timer()

Static t As Integer

t = (t + 1) Mod 3600

If t = 0 Then

    MsgBox "您已经工作1小时了,请注意休息", , "温馨提示:"

End If

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12004319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存