以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何调用windows的小喇叭?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=119186)

--  作者:找到没重的名
--  发布时间:2018/5/19 13:36:00
--  [求助]如何调用windows的小喇叭?
因为录入大量数字时,录入人员通常低头看数据,右手在小键盘飞快敲键,根本不抬头,所以我觉得messagebox不实用。我想在项目中用到一个报错的提示音,用以提醒用户。
就像打字重码的时候,系统就会让电脑主机就会发出“滴”的一声。这样就算工作环境中没有音箱,也能让用户听到报错的声音。
别人只是告诉我要用到windows 的Api: beep
Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
dwFreq:Long,声音频率(从37Hz到32767Hz)。在windows95中忽略
dwDuration:Long,声音的持续时间,以毫秒为单位。如为-1,表示一直播放声音,直到再次调用该函数为止。在windows95中会被忽略

但是具体怎么用,请老师给我详细说下。谢谢!


--  作者:有点蓝
--  发布时间:2018/5/19 14:38:00
--  
全局代码:

Public Declare Function Beep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Public Declare Function MessageBeep Lib "user32" Alias "MessageBeep" (ByVal Type As Int32) As Boolean

然后命令窗口调用
Beep(150,2000) \'我笔记本win10测试没有效果
MessageBeep(&H10) ‘测试有声音,不过不知道是蜂鸣还是笔记本喇叭的声音,自己试试(5种参数5种声音:0、&H10、&H20、&H30、&H40

VB有特个特殊的函数用法,效果和MessageBeep(0)一样,试试执行
Interaction.Beep()

--  作者:找到没重的名
--  发布时间:2018/5/19 18:35:00
--  
Interaction.Beep()试过了,可以直接用,简单有效。谢谢!