3

我有一个 Windows 服务在 PC 启动后始终运行,当用户或其他一些应用程序/进程请求在 Windows 中关闭或重新启动时,我将如何使用 .NET 3.5 或 WMI 进行检测。

我不想停止它,只记录时间和谁启动了关闭(用户或进程很好,不需要知道哪个进程)

谢谢

4

3 回答 3

3

使用Microsoft.Win32.SystemEvents.SessionEnding事件。

但是,请注意您在 Windows 服务中,除非您在服务中创建隐藏表单,否则此事件不会为您触发。您可以通过启用服务上的“与桌面交互”选项免费获得其中之一。

于 2010-07-04T05:29:07.407 回答
1

您正在寻找SystemEvents.SessionEnding事件。

当用户尝试注销或关闭系统时发生。

于 2010-07-04T05:30:07.273 回答
0

Win32.SessionEnded 事件在系统关闭时触发。你应该在你的程序中附加这个。

于 2010-07-04T05:28:49.013 回答