华强北电脑城 龙岗电子世界 龙华电脑城  凯尔电脑

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2687|回复: 0

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

[复制链接]
发表于 2008-2-22 02:25:20 | 显示全部楼层 |阅读模式
<p>  一个提醒程序,最典型的就是闹钟程序。网上有不少个性化的提醒程序<a class="channel_keylink" href="http://download.chinaitlab.com/" target="_blank">下载</a>,但是大部分都是以时间为主的闹钟提醒。我们也可以用vb.net来打造一个适合自己的提醒程序,比如监控一个某个应用程序的变化然后发出声音提醒自己等等。</p><p>  一个提醒程序,最重要能在符合提醒条件的时候发出声音来提醒使用者,在这里,我们就对具体的提醒条件啰嗦了,只针对如何实现提醒声音的播放进行说明。</p><p>  在vb.net的。net组件中,并没有提供播放声音文件的组件,但是我们可以通过使用Com组件来播放声音文件。但是,要注意的事,我们只需要发出提示的声音而已,并不需要像播放器那样播放不同格式的声音文件和繁多的列表,所以我们可以通过API函数来循环播放单个的声音文件。</p><p>  在<a class="channel_keylink" href="http://windows.chinaitlab.com/" target="_blank">Windows</a>API函数的有一个PlaySound函数,它用于播放WAV格式的声音文件,我们可以用它来反复播放一个指定的WAV文件来实现提醒功能。</p><p>  首先在vb.net中引入API声明</p><p>  Public Declare Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer</p><p>  然后定义几个我们程序中必须用到的dwFlags参数常量</p><p>  同步调用PlaySound中指定的文件,播放完WAV文件后才返回结果</p><p>  Const SND_SYNC As Integer = &amp;H0</p><p>  异步调用PlaySound中指定的文件,不必等到播放完WAV文件后就直接返回结果,在这里我们可以调用异步方法来播放文件</p><p>  Const SND_ASYNC As Integer = &amp;H1</p><p>  反复播放指定的WAV文件</p><p>  Const SND_LOOP As Integer = &amp;H8</p><p>  在调用的时候hModule参数必须为0</p><p>  需要停止的时候通过调用PlaySound(vbNullString, 0, 0)来实现现在我们在窗体上放置两个按钮,一个用于开始播放,一个用于停止播放,然后再放置一个TextBox控件,用于指定WAV文件的路径,界面如下图所示:</p><p align="center"><img height="192" alt="用vb.net实现闹钟提醒程序" src="http://dotnet.chinaitlab.com/UploadFiles_6597/200801/20080105101827681.jpg" width="300" border="0"/></p><p align="center">  图一:示例界面</p><p>  完整代码如下:</p><p>  Public Declare Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer</p><p>  Const SND_FILENAME As Integer = &amp;H20000</p><p>  Const SND_ALIAS As Integer = &amp;H10000</p><p>  Const SND_SYNC As Integer = &amp;H0</p><p>  Const SND_ASYNC As Integer = &amp;H1</p><p>  Const SND_LOOP As Integer = &amp;H8</p><p>  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click</p><p>  PlaySound(TextBox1.Text, 0, SND_LOOP Or SND_ASYNC)</p><p>  End Sub</p><p>  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click</p><p>  PlaySound(vbNullString, 0, 0)</p><p>  End Sub</p><p>  运行,在TextBox1中输入有效的WAV文件的路径,然后单击开始,就可以循环播放声音了,单击停止按钮就可以停止播放。</p><p>  当然,本文只是讲述制作一个闹钟提醒程序的关键部分的实现,要完成一个真正的提醒程序,我们可以根据自己的需要,添加合适的提醒触发条件,就可以做出一个真正个性化的闹钟提醒程序了。</p>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|华强北 电脑城 龙岗电子世界 龙华电脑城 pc4g.com ( 粤ICP备16039863号 )

GMT+8, 2024-9-19 19:25 , Processed in 0.196204 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表