Используйте CreateProcess, перенаправляя вывод.
Если вызывающее приложение не является приложением Windows, с окном консоли не возникает проблем (поскольку программирование консоли по умолчанию наследует родительскую консоль).
Если вызывающее приложение является приложением Windows, установите правильные параметры, передаваемые CreateProcess, чтобы по умолчанию окно консоли, которое будет создано, было скрыто.