在 VB.NET 中开发 Windows 服务时,您可以跟踪当前会话中的更改(如 Logon、Logoff 或 ConsoleConnect)。下面的代码为您提供了一个示例。此过程仅在当前会话更改时运行。服务启动时不运行。
Protected Overrides Sub OnSessionChange(changeDescription As System.ServiceProcess.SessionChangeDescription)
MyBase.OnSessionChange(changeDescription)
If changeDescription.Reason = ServiceProcess.SessionChangeReason.ConsoleConnect Then
'Do stuff
End If
End Sub
我的问题是:服务启动时如何检查当前会话状态?用户是否登录?他是通过控制台会话连接的吗?您可以通过该OnSessionChange
过程跟踪相同的事情。