我正在用 C# WinForms 创建一个媒体播放器。我想使用可以在互联网上找到的以下代码来响应用户按下键盘上的多媒体键:
public const int WM_APPCOMMAND = 0x0319;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_APPCOMMAND)
{
switch ((int)m.LParam)
{
case 14: // MediaPlayPause
TogglePlayPause();
break;
default:
break;
}
}
base.WndProc(ref m);
}
但它不会起作用。它只是永远不会收到关键命令。媒体密钥适用于所有其他应用程序(并且该TogglePlayPause()
方法也适用)。