.Net WinForm系统在64位操作系统上发出蜂鸣声

时间:2009-09-28 18:13:51

标签: .net windows 64-bit beep

当验证失败时,我的应用程序需要发出蜂鸣声,因此用户(可能在几英尺之外)可能会听到它。我想使用Console.Beep(),但这是unavailable in a x64 environment (see the remarks)。计算机中可能有也可能没有扬声器,因此我无法使用System.Media.SystemSounds.Beep.Play()

当前的目标平台是x86环境,但我希望能够让应用程序在x64中运行。

有没有办法做到这一点,还是应该放弃?

修改:添加了该方法的链接。

3 个答案:

答案 0 :(得分:8)

Beep has been removed作为所有x64平台的本机函数(当然没有托管版本),there is a connect发出请求返回它。

我们使用不同的技巧来发现服务器,我们远程弹出DVD驱动器,托盘打开的驱动器正在寻找:)

<强> [编辑]
Larry Osterman有一篇很好的文章:What's up with the beep driver in Windows 7

答案 1 :(得分:0)

播放其中一个标准窗口声音可能是更好的方法。以下文章展示了如何(它只需要几行):

http://msdn.microsoft.com/en-us/library/4y171b18(VS.100).aspx

如果您想保持主题,可以查看Windows注册表中的当前声音方案,并播放适合您需要的声音。

答案 2 :(得分:0)

您可以使用此处所述的Console.Beep()方法:https://msdn.microsoft.com/en-us/library/8hftfeyw(v=vs.110).aspx

确保以管理员身份运行可执行文件(升级权限)