C# 在任务管理器\资源监视器中更改Windows服务名称

C# 在任务管理器\资源监视器中更改Windows服务名称,c#,windows-services,C#,Windows Services,我们的Windows服务是以这样一种方式设计的,即有一个基类来完成所有特定于一般服务的工作。根据传入的参数,它加载一个特定的外部dll,其中包含所有特定于模块的代码 问题在于,任务管理器和资源监视器中显示的程序名称是基本服务应用程序的名称。因此,所有服务在这些程序中都显示为相同的名称,很难跟踪哪个是哪个 我发现该名称来自应用程序的.exe名称,但复制可执行文件不是我想做的事情 在task manager中,您经常可以看到服务主机,它可以扩展以显示正在运行的服务,并且看起来是一个潜在的解决方案。但

我们的Windows服务是以这样一种方式设计的,即有一个基类来完成所有特定于一般服务的工作。根据传入的参数,它加载一个特定的外部dll,其中包含所有特定于模块的代码

问题在于,任务管理器和资源监视器中显示的程序名称是基本服务应用程序的名称。因此,所有服务在这些程序中都显示为相同的名称,很难跟踪哪个是哪个

我发现该名称来自应用程序的
.exe
名称,但复制可执行文件不是我想做的事情

在task manager中,您经常可以看到服务主机,它可以扩展以显示正在运行的服务,并且看起来是一个潜在的解决方案。但是,这似乎只适用于Windows服务


有没有办法更改这两个程序中显示的服务名称?

服务主机很特殊,我认为您自己无法更改。我对您的方案的理解正确吗?基本上:“您有一个自定义服务主机进程,该进程动态确定要加载的服务,而无需通过单个“已安装”的Windows服务引用Windows服务配置存储”@Rob一个服务类,该服务类根据传递给它的参数加载到不同的模块中。因此,多个安装的Windows服务您实际上安装了多个服务,即,如果您查看
服务.msc
中的每个服务都是离散列出的,每个参数传入/DLL加载一个?@Rob Yes如果我有4个模块,我将安装4个不同的服务。Services.msc显示由
ServiceBase.ServiceName
声明的每个服务名称,但资源监视器将该服务显示为可执行名称。