我需要在Windows XP SP3上跟踪用户中的当前用户(使用控制台的用户).
我尝试了以下方法:
Microsoft.Win32.SystemEvents.SessionSwitch:适用于单个登录/注销事件,但无法检测到切换用户.
如果发生以下情况:
SystemEvents.SessionSwitch未检测到事件3和4
监控"安全"事件日志:事件不一致并且无序到达.例如,如果重播上面的列表,我会在恢复会话后收到事件ID 528(登录),然后是userA的两个538(Logoff).检查event.TimeGenerated没有帮助.如果在SecPol.msc上禁用审核,则此方法也不起作用.
P /调用WTSRegisterSessionNotification:工作正常.我必须创建一个隐藏的表单,覆盖其WndProc来处理WM_WTSSESSION_CHANGE消息,然后调用WTSQuerySessionInformation来获取与该事件关联的用户名.这种方法看起来太复杂了,有没有更简单的方法?
编辑: