VB.NET で Windows サービスを開発する場合、現在のセッション (ログオン、ログオフ、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
手続きを通じて追跡できるものと同じもの。