#include #include #define volume_up 'A' #define volume_down 'Z' #define volume_mute 'C' #define next_song '2' #define prev_song '1' #define pause_song '3' // for some reason, it wouldnt define these in winuser.h so i just copy pasted #define VK_VOLUME_MUTE 0xAD #define VK_VOLUME_DOWN 0xAE #define VK_VOLUME_UP 0xAF #define VK_MEDIA_NEXT_TRACK 0xB0 #define VK_MEDIA_PREV_TRACK 0xB1 #define VK_MEDIA_STOP 0xB2 #define VK_MEDIA_PLAY_PAUSE 0xB3 // hehe.. #define KEYSTATE(vk) ((GetAsyncKeyState(vk) & 0x8000) ? TRUE : FALSE) int main() { while(1) { if (KEYSTATE(VK_LMENU) == TRUE) { if (KEYSTATE(volume_up) == TRUE) { printf("volume up\n"); keybd_event(VK_VOLUME_UP, 0xE9, 0, 0); } if (KEYSTATE(volume_down) == TRUE) { printf("volume down\n"); keybd_event(VK_VOLUME_DOWN, 0xE9, 0, 0); } if (KEYSTATE(volume_mute) == TRUE) { printf("volume mute\n"); keybd_event(VK_VOLUME_MUTE, 0xE9, 0, 0); Sleep(500); // to prevent you from pressing it repeatedly *accidentally* } if (KEYSTATE(pause_song) == TRUE) { printf("pause or play song\n"); keybd_event(VK_MEDIA_PLAY_PAUSE, 0xE9, 0, 0); Sleep(500); // to prevent you from pressing it repeatedly *accidentally* } if (KEYSTATE(next_song) == TRUE) { printf("next song\n"); keybd_event(VK_MEDIA_NEXT_TRACK, 0xE9, 0, 0); Sleep(500); // to prevent you from pressing it repeatedly *accidentally* } if (KEYSTATE(prev_song) == TRUE) { printf("previous song\n"); keybd_event(VK_MEDIA_PREV_TRACK, 0xE9, 0, 0); Sleep(500); // to prevent you from pressing it repeatedly *accidentally* } } Sleep(100); } }