¿Cómo detecto si estoy ejecutando en la consola

¿Existe una manera simple de que una biblioteca de códigos detecte automáticamente si se está llamando desde una aplicación de consola o una aplicación de Windows? Me gustaría que mi biblioteca no informe al registro de eventos de Windows si se llama desde una ventana de consola, sino que se informe a la ventana de la consola. Sin embargo, si no se ejecuta desde una ventana de consola, debe informar al Registro de eventos de Windows.

Pensé en pedirle al componente de registro que pasara el objetivo de registro, pero sería bueno si pudiera manejar automáticamente estos dos objetivos de forma nativa. Todavía no necesito algo tan extenso como log4net, de hecho, si es necesario proporcionar soporte para iniciar sesión en una base de datos / archivo y otros objetivos de registro aún desconocidos, entonces puedo recomendar una solución de este tipo. Sin embargo, por ahora, solo hacer que mi componente detecte automáticamente el entorno e inicie sesión en la consola o en el registro de eventos de acuerdo con el entorno sería suficiente.

Respuestas a la pregunta(4)

Su respuesta a la pregunta