Первый случай, на мой взгляд, - создать два уровня вашего приложения: сервер и клиенты.Сервер запустит клиентов (новые окна консоли), и клиенты будут взаимодействовать с сервером.Как это будет сделано, вы должны выбрать (межпроцессное взаимодействие, сокеты и т. Д.)
Второй случай - перехват сообщений WinAPI из другого окна консоли, но в этом случае я не могу вам помочь:)