【发布时间】:2014-04-21 19:42:37
【问题描述】:
.NET 中的哪个库允许您从 .NET 停止、卸载、取消注册、安装和启动 Windows 服务?我正在使用 .NET 4/4.5。
Powershell 的 get-service 在幕后调用了什么?如何从 .NET 访问相同的对象/API?
【问题讨论】:
标签: c# .net powershell windows-services
.NET 中的哪个库允许您从 .NET 停止、卸载、取消注册、安装和启动 Windows 服务?我正在使用 .NET 4/4.5。
Powershell 的 get-service 在幕后调用了什么?如何从 .NET 访问相同的对象/API?
【问题讨论】:
标签: c# .net powershell windows-services
您可以使用ServiceController 来完成大部分操作(开始、停止、暂停等)。它要求您添加ServiceProcess.dll。但它不能做所有事情,所以我使用命令提示符调用,如sc create
【讨论】:
您可以使用ServiceController-class 操作现有服务。要创建服务,您需要使用使用 P/Invoke 的本机方法。见CreateService (advapi32) 和DeleteService (advapi32):
PowerShell cmdlet 就是这样做的。
您可以在 C# here 中找到使用 CreateService 和 DeleteService 的示例。
【讨论】: