.net - XP上的vb.net系统提示音

标签 .net vb.net winapi beep

是否可以让 vb.net 程序使 PC 的内部扬声器发声?你知道产生 C 的那个 \a
我试过 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 及更高版本上唯一的好处没有任何乐趣。
有什么建议?

最佳答案

使用 My VB.NET 中的命名空间,你可以通过 My.Computer.Audio 访问音频.这有一个 Play具有许多重载的方法,允许您按文件位置或作为字节数组或流传递 .wav 声音,但它也有 PlaySystemSound采用 enum 的方法,其中之一是 Beep .所以播放这个声音的完整行是:

My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)

没有保证,但由于它是 .Net 框架的一部分,我认为这应该适用于 XP 和 Vista ......

关于.net - XP上的vb.net系统提示音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10110911/

相关文章:

c# - C# 是否具有 "ThreadLocal"属性的 "ThreadStatic"模拟(对于数据成员)?

.net - WPF的RichTextBox性能问题

vb.net - 以编程方式在 TabControl 中创建选项卡

vb.net - 如何使用 vb.net 混淆表单上的密码输入?

vb.net - 在vb.net中创建文件之前,如何预测文件大小?

c++ - 我应该使用什么 C++ Write 函数?

excel - 如何处理 VBA 中的 DLL 错误?

c# - Visual Studio Code C# 调试问题(终端进程无法启动 : Path to shell executable "dotnet" is not a file of a symlink.)

c# - 测试对象类型的最有效方法

c++ - 为子窗口指定窗口过程