订阅windows系统事件本机c++

subscribe to windows system events native c++

本文关键字:本机 c++ 事件 系统 windows 订阅      更新时间:2023-10-16

我想让我的c++应用程序监听windows系统事件,比如登录、注销、锁定。。。类似于:http://www.dotnetspider.com/resources/30389-To-detect-when-system-gets.aspx它是用C#编写的
我发现http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx#Y0m,但它是CLR代码。此外,我看到SubscribeToSystemEvent函数在visual C++中。

有人知道在本机c++中使用哪些方法吗?

请告知,

Liron

会话状态更改时,调用WTSRegisterSessionNotification以接收WM_WTSSESSION_CHANGE窗口消息。这包括登录、注销、锁定、解锁和其他操作。在程序退出之前,请确保对WTSUnRegisterSessionNotification进行了相应的调用。

或者,您可以监听WM_QUERYENDESSION或WM_ENDSESSION窗口消息。第一个允许您阻止用户注销;第二个告诉你它是否会发生。

您可以尝试krabsethttps://github.com/Microsoft/krabsetw它是包装物。你也可以看看这个https://learn.microsoft.com/en-us/dotnet/api/system.security.accesscontrol?view=netframework-4.7.2

还可以通过PowerShell 查看New-WinEvent和Get-WinEvent