У меня есть служба Windows, которая получает информацию о пользователе и сохраняет результат в текстовом файле журнала. и, моя проблема в том, что когда я закрываю или выхожу из системы, я также хотел бы сохранить время, в течение которого моя система попала в этот файл журнала. но я не знаю, как это сделать.
Я проверил метод winproc для обнаружения операции выключения, но я не смог использовать его в службе окна, при поиске в Google обнаружил, что он может использоваться только с формами. как мы можем обнаружить, что пользователь нажал на выключение или вышел из системы и сделал некоторые действия. поэтому, пожалуйста, дайте мне некоторое представление или предложение об этом.
Я использовал его для выхода из системы, но запись в журнале происходит, когда я выхожу из системы
protected override void OnSessionChange(SessionChangeDescription changeDescription)
{
this.RequestAdditionalTime(250000); //gives a 25 second delay on Logoff
if (changeDescription.Reason == SessionChangeReason.SessionLogoff)
{
// Add your save code here
StreamWriter str = new StreamWriter("D:\\Log.txt", true);
str.WriteLine("Service stoped due to " + changeDescription.Reason.ToString() + "on" + DateTime.Now.ToString());
str.Close();
}
base.OnSessionChange(changeDescription);
}