【问题标题】:How to control application volume in WinXPWinXP中如何控制应用程序的音量
【发布时间】:2012-06-04 08:11:10
【问题描述】:

我想在 WinXP 中以编程方式控制特定应用程序的音量。 我知道一个 API waveOutSetVolume(),但它控制 Win Vista 及更高版本中的应用程序音量,对于 XP,它只会影响整个系统音量。

请告知我们如何在 XP 中实现这一点?

此外,如何取消选中/选中系统音量静音复选框。

【问题讨论】:

    标签: c++ winapi visual-c++ win32gui win32-process


    【解决方案1】:

    如您所说,Vista OS 提供了应用程序级别的音频级别,因此 XP 无法控制它。

    更多信息在这里:http://msdn.microsoft.com/en-us/library/bb945061.aspx

    你第二个关于静音的问题,你只需调用waveOutSetVolume:

    http://msdn.microsoft.com/en-us/library/windows/desktop/dd743874%28v=vs.85%29.aspx

    【讨论】:

    • 您好,感谢您的快速回复。 waveOutSetVolume(),函数可以使音量为零,这与音量静音具有相同的效果,但我想选中/取消选中音量控制中的静音复选框。
    • @AshishMittal,有一种更骇人听闻的方式。使用SendInput 发送VK_VOLUME_MUTE 笔划。有些键盘有音量按钮,所以我猜 Windows 已经做好了准备。它一直在为我在 XP 上工作,因为它有一个键盘快捷键。不过,这也可能会影响活动的应用程序。或许您可以将其发送至DefWindowProc 之类的地址,以获得您需要的效果。
    • 感谢克里斯的回答,但下面提到的是障碍。 1.)我不仅要静音/取消静音机器音量,还想恢复系统音量静音/取消静音的状态。 2)我的comp提供了自己的键盘给没有音量快捷键按钮的客户,所以在这种情况下你提到的解决方案可以吗?请指教。
    猜你喜欢
    • 2011-12-18
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 2023-03-14
    • 2014-01-20
    相关资源
    最近更新 更多