Cuando windows se cierra, manda un mensaje a las aplicaciones abiertas para cerrarlas, lo que puedes hacer es interseptar este mensaje con subclasificacion.
Cuando tu aplicacion recibe el mensaje (si no me equivoco es WM_CLOSE) guarda la hora, y se cierra.
A la aplicacion la puedes hacer invisible con la API SetWindowPlacement
Saludos