2

我有键盘,以及笔记本电脑内置的键盘,它有多媒体键。其中一个多媒体键当然是暂停/播放,它是键盘驱动程序的一项功能,可以分配给其他键。当它被推送时,它将暂停/播放 iTunes、Windows Media Player 等,具体取决于我的“最后一次活动”媒体应用程序是什么。

我的问题是,在 C# 中,我如何复制此功能以暂停/播放系统声音。我查看了 API,唯一看起来很接近的是 winmm.dll waveOutPause 和 midiOutPause 函数

4

1 回答 1

2

.NET 中有一个名为SendKeys的类,它允许您将按键推送到另一个应用程序,但这(AFAIK)不允许发送特殊键。

所以相反,我猜你想要 API function SendInput

这里有一个包含媒体键的键码列表,因此您可以模拟播放/暂停或音量控制等键。

编辑:使用 API 的一种可能替代方法是捕获您按下该键时(在 WinForms 或 WPF 应用程序中)发送的任何多媒体键盘,然后查看是否可以使用常规SendKeys实现复制该按键。

于 2012-08-07T09:22:13.460 回答