Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有键盘,以及笔记本电脑内置的键盘,它有多媒体键。其中一个多媒体键当然是暂停/播放,它是键盘驱动程序的一项功能,可以分配给其他键。当它被推送时,它将暂停/播放 iTunes、Windows Media Player 等,具体取决于我的“最后一次活动”媒体应用程序是什么。
我的问题是,在 C# 中,我如何复制此功能以暂停/播放系统声音。我查看了 API,唯一看起来很接近的是 winmm.dll waveOutPause 和 midiOutPause 函数
.NET 中有一个名为SendKeys的类,它允许您将按键推送到另一个应用程序,但这(AFAIK)不允许发送特殊键。
所以相反,我猜你想要 API function SendInput。
SendInput
这里有一个包含媒体键的键码列表,因此您可以模拟播放/暂停或音量控制等键。
编辑:使用 API 的一种可能替代方法是捕获您按下该键时(在 WinForms 或 WPF 应用程序中)发送的任何多媒体键盘,然后查看是否可以使用常规SendKeys实现复制该按键。
SendKeys