¿Cómo puede un servicio de Windows determinar su ServiceName?

He mirado y no pude encontrar lo que debería ser una pregunta simple:

¿Cómo puede un servicio de Windows determinar el ServiceName para el que se inició?

Sé que la instalación puede piratear el registro y agregar un argumento de línea de comandos, pero lógicamente eso parecedebería Ser innecesario, de ahí esta pregunta.

Espero ejecutar varias copias de un solo binario de forma más limpia que el hackeo del registro.

Editar:

Esto está escrito en C #. Mis aplicacionesPrincipal() El punto de entrada hace cosas diferentes, dependiendo de los argumentos de la línea de comando:

Instalar o desinstalar el servicio. La línea de comandos puede proporcionar un Nombre de servicio no predeterminado y puede cambiar el número de subprocesos de trabajo.Ejecutar como un ejecutable de línea de comandos (para la depuración),Ejecutar como un "Servicio de Windows". Aquí, crea una instancia de miBase de servicio- Clase derivada, luego llamadas.System.ServiceProcess.ServiceBase.Run (instancia);

Actualmente, el paso de instalación agrega el nombre del servicio y el conteo de hilos alRuta de la imagen en el registro para que la aplicación pueda determinar su ServiceName.

Respuestas a la pregunta(7)

Su respuesta a la pregunta