I am trying to print the corresponding Unicode character for alt+2 to the Windows console window. (the console doesn't display the character, but should display ^B instead)
The following doesn't seem to work. Just prints "2".

Code:
keybd_event(VK_MENU,0 ,0 , 0); //Alt Press

Sleep(10);
keybd_event(VK_NUMPAD2,0, 0 , 0); // 2 Press

Sleep(10);
keybd_event(VK_NUMPAD2,0, KEYEVENTF_KEYUP,0); // 2 Release

Sleep(10);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0); // Alt Release

Sleep(10);
Neither does this work. Just prints "2", again.

Code:
INPUT inputs = {0}; 
	inputs.type = INPUT_KEYBOARD; 

	KEYBDINPUT ki = {0}; 
	ki.wVk = VK_LMENU;

	inputs.ki = ki;
	SendInput(1, &inputs, sizeof(INPUT)); // Left alt

	ki.wVk = VK_NUMPAD2;
	inputs.ki = ki;
	SendInput(1, &inputs, sizeof(INPUT)); // Numpad 2

	ki.dwFlags = KEYEVENTF_KEYUP;

	ki.wVk = VK_NUMPAD2;
	inputs.ki = ki;
	SendInput(1, &inputs, sizeof(INPUT)); // Numpad 2

	ki.wVk = VK_LMENU;
	inputs.ki = ki;
	SendInput(1, &inputs, sizeof(INPUT)); // Left alt