VK_LAUNCH_MEDIA_SELECT
is actually received by the system and translated into a WM_APPCOMMAND
with lParam
as APPCOMMAND_LAUNCH_MEDIA_SELECT
. So theoretically, any program implementing a handler for this could be launched. This page (albeit old) lists default applications which listen for WM_APPCOMMAND
:
- Internet Explorer
- Windows Help
- DVD Player
- CD Player
- Media Player
- Volume Control system tray applet
Obviously, only a few of those are actually applicable for APPCOMMAND_LAUNCH_MEDIA_SELECT
.
However, I don't know how the translation mechanism actually works. It appears not every application will receive the translated WM_APPCOMMAND
message. On my keyboard, I tried pressing the button which sends VK_VOLUME_UP
. The volume goes up as expected because it is handled by the volume control system tray applet. However, I opened an instance of notepad.exe
and monitored its messages with Spy++. It did not receive any message even when it was in the foreground. Curiously, VK_MEDIA_PLAY_PAUSE
is received through WM_APPCOMMAND
if the play/pause button is pressed as long as notepad.exe
had the focus. I would test with VK_LAUNCH_MEDIA_SELECT
, but I'm not actually sure what button that corresponds to (or whether my keyboard has it).