当验证失败时,我的应用程序需要发出哔声,以便用户(可能在几英尺外)可以听到它。我想使用,Console.Beep()
但这在 x64 环境中不可用(请参阅备注)。计算机中可能有也可能没有扬声器,所以我不能使用System.Media.SystemSounds.Beep.Play()
.
当前的目标平台是 x86 环境,但我希望应用程序也能够在 x64 中运行。
有没有办法做到这一点,还是我应该放弃?
编辑:添加了该方法的链接。
当验证失败时,我的应用程序需要发出哔声,以便用户(可能在几英尺外)可以听到它。我想使用,Console.Beep()
但这在 x64 环境中不可用(请参阅备注)。计算机中可能有也可能没有扬声器,所以我不能使用System.Media.SystemSounds.Beep.Play()
.
当前的目标平台是 x86 环境,但我希望应用程序也能够在 x64 中运行。
有没有办法做到这一点,还是我应该放弃?
编辑:添加了该方法的链接。
Beep 已作为本机功能从所有 x64 平台中删除(因此当然没有托管版本),有一个 Microsoft Connect 问题请求返回它。
我们使用不同的技巧来发现服务器,我们远程弹出 dvd 驱动器,并且托盘打开的驱动器就是我们要寻找的驱动器 :)
[编辑]
Larry Osterman 对此有一篇很棒的文章:Windows 7 中的哔声驱动程序是怎么回事
您可以使用Console.Beep()
此处描述的方法:https ://msdn.microsoft.com/en-us/library/8hftfeyw(v=vs.110).aspx
确保以管理员身份运行可执行文件(提升权限)
播放标准窗口声音之一可能是更好的方法。下面的文章展示了如何(只需要几行):
http://msdn.microsoft.com/en-us/library/4y171b18(VS.100).aspx
如果您想留在主题中,您可以检查 Windows 注册表以获取当前的声音方案,并播放适当的声音以满足您的需要。