我有一个现有的Windows服务,它非常成功地使用了Topshelf。
我现在需要让服务在特定的USB设备与机器连接/断开连接时接收通知。
我在托普舍夫看不到任何能让我这么做的东西。但我相信有一种方法可以使用Win32 API,如ServiceControlHandlerEx和带有DEVICE_NOTIFY_SERVICE_HANDLE选项的RegisterDeviceNotification。
使用这些Win32 API会干扰Topshelf吗?据我所知,Topshelf包装了服务控制处理程序本身,所以我的服务也试图做同样的事情可能会给它带来一些问题?
使现代化
:
在基于Topshelf的服务中,可以从服务控制处理程序中挂接设备通知。看见
sample project
详细信息。非常感谢克里斯·帕特森的帮助。