All pastes #937565 Raw Edit

Untitled

public text v1 · immutable
·published 2008-03-11 01:28 UTC
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);
	}
}