¿Cómo puedo saber si el proceso actual es un servicio o no (C ++, Win32)?

¿Cómo puedo saber si la aplicación en la que se ejecuta mi código está en un servicio o en una aplicación? ¿Por qué quiero saber esto? Estoy escribiendo un código que se inyecta en la aplicación de destino y ese código no tiene forma de conocer esta información por adelantado, por lo que tiene que resolverlo por sí mismo.

No puedo confiar en que se invoque ningún código desde el administrador de control de servicio, inicio, parada o parámetros de línea de comando.

Actualmente estoy mirandoGetConsoleWindow() que espero regreseNULL para un servicio (sin consola) y un identificador de ventana para cualquier aplicación (tiene una consola). No estoy seguro de cuán válida es esta suposición.

¿Alguna idea para una mejor solución?

Respuestas a la pregunta(4)

Su respuesta a la pregunta