XP上的vb.net系统发出哔哔声

Tob*_*oby 5 .net vb.net winapi beep

有可能让一个vb.net程序听起来是PC的内置扬声器吗?你知道产生C的\aBELL的那个我试过了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
Run Code Online (Sandbox Code Playgroud)

没有任何乐趣显然它是Vista及以上的唯一优点.有什么建议?

Phi*_*ove 3

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

My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)
Run Code Online (Sandbox Code Playgroud)

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