rendered paste body#include <stdio.h>
#include <windows.h>
#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);
}
}