Глобальный брелок для медиа-клавиш в C#
Со следующим RegisterHotKey
функция, я могу глобально перехватить обычные комбинации клавиш и модификаторов:
[DllImport("user32.dll")]
private static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers, uint vk);
Отличная статья об этом и полный исходный код здесь: http://www.liensberger.it/web/blog/?p=207
Но вопрос в том, как мне подключить Media Keys, те клавиши play/pause/next/previous, которые есть в клавиатурах и удаленных компьютерах? Я гуглил и гуглил, но без удачи.
1 ответ
Использовать System.Windows.Forms.Keys.MediaPlayPause
, System.Windows.Forms.Keys.Play
и т. д. значения для параметра vk (после приведения его к uint) и 0 для fsModifiers (если вы хотите зарегистрироваться для Shift-Play, Alt-Play или других комбинаций клавиш).