今作成しているwindowsサービスにログオンログオフとlock?とunlockの
イベントログを出力させています。stackoverflowのサイトを参考にしました。
該当のコードはこちらです。
※CanHandleSessionChangeEventプロパティをvisualstudioのプロパティの画面にて
trueに設定しています。
protected override void OnStart(string[] args) { eventlog.WriteEntry("Service start"); } protected override void OnStop() { EventLog.WriteEntry("Service stop"); } protected override void OnSessionChange(SessionChangeDescription changeDescription) { switch (changeDescription.Reason) { case SessionChangeReason.SessionLogon: eventlog.WriteEntry(changeDescription.SessionId + " logon"); break; case SessionChangeReason.SessionLogoff: eventlog.WriteEntry(changeDescription.SessionId + " logoff"); break; case SessionChangeReason.SessionLock: eventlog.WriteEntry(changeDescription.SessionId + " lock"); break; case SessionChangeReason.SessionUnlock: eventlog.WriteEntry(changeDescription.SessionId + " unlock"); break; } base.OnSessionChange(changeDescription); }
eventlogの挙動は
service start -> changeDescription.SessionId + " logon"
となるとおもってたのですが、
service start -> changeDescription.SessionId + " lock"->changeDescription.SessionId + " unlock"->changeDescription.SessionId + " logon"
となっていました、
ログオンする前にlockとunlockなんて言うことをしているのですが、
lockとはサインアウトやログアウトと並んで表示されているロック
(ユーザーの切り替えをしてユーザアカウントの選択画面に移動する)
のことではないのでしょうか。
それとも、コードに誤りがあるのでしょうか。
回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー