实用技巧:获取与当前进程对应的 Windows 服务的实际名称
💡
原文中文,约2000字,阅读约需5分钟。
📝
内容提要
本文介绍了如何获取当前进程所属的Windows服务的真实名称。通过使用IHostLifetime接口和WindowsServiceLifetime类,可以获取代码中设置的名称。然而,为了获取真实的Windows服务名称,可以使用WMI。希望对你有帮助。
🎯
关键要点
- 有时需要在运行时获取当前进程所属的 Windows 服务的真实名称。
- IHostLifetime 接口用于控制主机启动和关闭,有两个实现:ConsoleLifetime 和 WindowsServiceLifetime。
- WindowsServiceLifetime 类在 StartAsync 方法中设置 ServiceName 属性的值。
- 通过 IHostLifetime 接口可以获取当前进程对应的 Windows 服务的名称,但获取的名称是设置的名称而非真实名称。
- 要获取真实的 Windows 服务名称,可以通过 WMI 和当前进程的 Id 来实现。
- 必须在调用 host.StartAsync 之后才能获取与当前进程对应的 Windows 服务。
➡️