我有兴趣了解有关Microsoft Office Communicator IM客户端的更多信息,以及它如何确定您的状态(即您在计算机旁还是不在)。任何人都可以将我引向解释此问题的教程或API的详细信息吗?

最佳答案

经过一些研究,看来Office Communicator客户端使用对键盘和鼠标活动的简单审核来确定用户的存在。本文讨论了Microsoft Communicator presence status,并且这些相关问题也涉及到它:


https://superuser.com/questions/21364/how-do-i-detect-when-a-user-is-sitting-in-the-chair-in-front-of-a-computer/21380#21380
Detecting user presence


似乎Office Communicator使用Windows API GetLastInputInfo函数。
以下问题详细说明了调用此函数的选项(有和没有P / Invoke):


.NET equivalent for GetLastInputInfo?
C# - Detect time of last user interaction with the OS

07-24 09:38