WinForms、C# でメディア プレーヤーを作成しています。インターネット全体で見つかる次のコードを使用して、キーボードのマルチメディア キーを押すユーザーに応答したいと思います。
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()
方法も同様に機能します)。