我有一个Windows服务,获取用户详细信息并将结果保存到日志文本文件。而且,我的问题是当我关闭或注销我的系统时,我还想将我在系统中的时间保存到该日志文件中。但是,我不知道该怎么做。检测窗口服务关闭
我检查了winproc方法来检测关机操作,但我无法在窗口服务上使用它,在谷歌搜索中发现它只能用于表单。我们如何检测用户是否已点击关机或注销并执行一些操作。所以,请给我一些想法或建议。当我注销系统
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);
}
注销不起作用,如果我不得不添加更多的东西 – deepu 2011-03-05 06:49:52
@deepu:对不起,我通过忘记对基础OnSessionChange的调用误导了你。看我最近的编辑。 – MPelletier 2011-03-05 06:55:34
谢谢我会检查,是否有任何方法来保持关机,直到该过程完成OnShutdown事件 – deepu 2011-03-05 07:19:41