Ваша служба должна наследовать ServiceBase
от System.ServiceProcess.dll
.
Когда у вас будет это, вы сможете получить доступ к this.ServiceName
свойству.
Пример:
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
string test = this.ServiceName;
}
protected override void OnStop()
{
}
}
Если вы хотите получить к нему доступ через Main () (класс Program), то вы можете сделать что-то вроде этого:
namespace WindowsService1
{
static class Program
{
static ServiceBase[] _servicesToRun;
static void Main()
{
_servicesToRun = new ServiceBase[]
{
new Service1()
};
string serviceName = _servicesToRun[0].ServiceName;
ServiceBase.Run(_servicesToRun);
}
}
}