我有一个 Windows 服务在 PC 启动后始终运行,当用户或其他一些应用程序/进程请求在 Windows 中关闭或重新启动时,我将如何使用 .NET 3.5 或 WMI 进行检测。
我不想停止它,只记录时间和谁启动了关闭(用户或进程很好,不需要知道哪个进程)
谢谢
我有一个 Windows 服务在 PC 启动后始终运行,当用户或其他一些应用程序/进程请求在 Windows 中关闭或重新启动时,我将如何使用 .NET 3.5 或 WMI 进行检测。
我不想停止它,只记录时间和谁启动了关闭(用户或进程很好,不需要知道哪个进程)
谢谢
使用Microsoft.Win32.SystemEvents.SessionEnding事件。
但是,请注意您在 Windows 服务中,除非您在服务中创建隐藏表单,否则此事件不会为您触发。您可以通过启用服务上的“与桌面交互”选项免费获得其中之一。
您正在寻找SystemEvents.SessionEnding事件。
当用户尝试注销或关闭系统时发生。
Win32.SessionEnded 事件在系统关闭时触发。你应该在你的程序中附加这个。