Code:
if (KEY_DOWN(vk_code))
{
	while (!KEY_UP(vk_code))
	{
		// do action while key is down and not up
	}
	// do whatever when key is let go

	// Suggest doing this to flush the standard input stream buffer
	FlushConsoleInputBuffer (GetStdHandle(STD_INPUT_HANDLE));
}
Use that, hit it once and it'll execute once and won't continue executing (unless you want it to).