【发布时间】:2012-04-11 17:26:28
【问题描述】:
是否可以让 vb.net 程序使 PC 的内部扬声器发出声音?你知道那个产生 C 的\a BELL
我试过beep(),但这只会在声卡上产生错误声音。
我也试过了
<Runtime.InteropServices.DllImport("KERNEL32.DLL", EntryPoint:="Beep", SetLastError:=True, _
CharSet:=Runtime.InteropServices.CharSet.Unicode, ExactSpelling:=True, _
CallingConvention:=Runtime.InteropServices.CallingConvention.StdCall)> _
Public Shared Function _
aBeep(ByVal dwFreq As Integer, ByVal dwDuration As Integer) _
As Boolean
End Function
显然它在 Vista 及更高版本上的唯一好处是没有任何乐趣。 有什么建议吗?
【问题讨论】:
-
您知道并非所有计算机都拥有您所描述的那种内置硬件扬声器,对吧?因此,在很多情况下,该程序可能无法按预期执行,尤其是在企业环境中使用廉价机器时。
-
另外,这是 64 位 Windows XP 吗?因为上次我记得(我已经很久没有使用 XP 了),
Beepfunction 导致内部系统扬声器发出哔哔声,就像你描述的那样。这与MessageBeep功能形成对比,如果连接,它会从声卡发出蜂鸣声。 64 位版本的 XP 和 Windows Vista 率先打破了这种行为。 -
该死,我是 64 位版本...猜我的用户只需要戴耳机... Ta