远程桌面连接到现有会话的远程桌面会话事件触发NPLogonNotify的网络提供商。但有没有一种方法,我可以找出它是一个登录事件还是连接到现有会话的事件?有没有办法检测NPLogonNotify
1
A
回答
1
LsaGetLogonSessionData从登录会话ID中返回终端服务会话ID。所以你可以尝试用WTSConnectState调用WTSQuerySessionInformation。幸运的是,结果将区分你所关心的两种情况。
如果不是,并且如果您在从NPLogonSession返回之前不需要知道答案,则可以观察与调用NPLogonSession相关的终端服务会话会发生什么,可能使用WTSRegisterSessionNotification。
我相信,如果用户连接到现有会话,从NPLogonNotify终端服务会话将返回到空闲或侦听状态。此外,NPLogonNotify调用中的登录会话将被关闭。您可以通过调用LsaEnumerateLogonSessions来枚举登录会话。
如果用户收到一个新的会话,我认为,从NPLogonNotify调用同一个终端服务会话将被使用,因此将进入活跃状态。通常有也将启动一个或多个进程被从调用NPLogonNotify登录会话ID相关联。您可以通过使用GetTokenInformation与TokenStatistics查询类确定与进程相关联的登录会话,如MSDN词汇"logon identifier"下描述。
需要注意的一个额外复杂因素是:如果用户是管理员,并且UAC已启用,则会有两次调用NPLogonNotify,一次与限制用户令牌关联,另一次与提升的用户令牌关联。本地和远程登录都是如此。
相关问题
- 1. 有没有办法检测Outlook邮件是否没有附件?
- 2. 有没有办法检测iAd是否显示“测试广告”?
- 3. 有没有办法检测XmlHttpRequest无法解析URL?
- 4. 有没有办法通过遗传算法检测公式?
- 5. 有没有办法做一个“无法检测的,iframe代码”
- 6. 有没有办法测试变量“isForEachable”
- 7. 有没有办法测试CSS文件?
- 8. 用UiAutomator测试Snackbar,有没有办法?
- 9. 有没有办法检测浏览器窗口是否关闭?
- 10. 有没有办法使用HtmlAgilityPack检测404页?
- 11. 有没有办法检测Droid X上的按钮?
- 12. 有没有办法检测iPhone是否处于反色模式?
- 13. 有没有办法检测我是否在文本上悬停?
- 14. 有没有办法检测传入的Skype电话?
- 15. 有没有办法检测SqlConnection上的开放阅读器?
- 16. 有没有办法使用jQuery检测画布线?
- 17. 有没有办法检测驱动器是否是SSD?
- 18. 有没有办法检测在EditText中点击的字
- 19. 有没有办法检测contextMenu是否在android中打开?
- 20. 有没有办法检测对象是否被锁定?
- 21. 有没有办法检测QT QRunnable对象何时完成?
- 22. 有没有办法检测IE10的“Caps Lock is on”功能?
- 23. 有没有办法检测字母数字Unicode符号?
- 24. 有没有办法在Javascript中检测DOM节点的变化?
- 25. 有没有办法在mysql中检测溢出?
- 26. 有没有办法检测UIImage/NSData是否为动画/ GIF?
- 27. 有没有办法检测滚动开始和结束在TreeView?
- 28. 有没有办法检测一个键是否被按下?
- 29. 有没有办法检测EJB的取消部署?
- 30. 有没有办法检测到取消下载?