Cuando creas un programa en Win32, comienzas con tu función WinMain, donde registras una clase de ventana, la creas y muestras, y entras al bucle de mensaje. Pero la ventana no se muestra hasta que creas la ventana y le dices a Windows que la dibuje.
Simplemente si no creas la ventana, nunca aparecerá nada en pantalla, así que haces lo que tienes que hacer y ya. Es decir, todo tu programa iría en el WinMain y simplemente no creas ventana alguna.
El problema con lo anterior es que no te da control sobre la aplicación. La inicias, y esperas a que termine, pero no la puedes terminar de forma normal más que cerrando el proceso directamente, lo cuál puede causar "leaks" de memoria y no tienes cómo liberar los recursos empleados (i.e. la conexión a una base de datos) . Si el programa hace una tarea en particular y debe cerrarse en cuanto la termine de hacer, esta es la mejor opción.
Pero... si requieres tener el control de tu aplicación, lo mejor es crear un "servicio". Los servicios en Windows tienen que cumplir ciertas características, lo que les dá la posibilidad de ser controlados por el sistema (y por tí). Ejemplos de servicios son, por ejemplo, cuando cierras el MSN Messenger y te queda el iconillo en la barra de tareas del escritorio.
Es un poco complicadón el crear un servicio (más bien laborioso). Si requieres crear un servicio, puedes consultar en MSDN, o escribirme y te oriento cómo crearlo.
Saludos.