0

我有一个问题,我需要解决下一个问题的方法:

假设有一个应用程序“A”。此应用程序“A”只有在您拥有许可证的情况下才能使用。如果许可证是免费的,则有几个用户使用此应用程序并为他们“保留”许可证。但是,有时“保留”许可证的用户忘记了“未保留”。

主要问题:如何检测用户是否在 X 分钟内未使用应用程序(应用程序处于空闲状态)? 这并不意味着用户在计算机上不活跃——他正在使用计算机上的另一个应用程序,但他没有使用这个特定的应用程序“A”。(用户必须登录才能使用许可证。这意味着即使他退出应用程序、最小化应用程序或只是应用程序在其他应用程序的后台,他仍然会构成许可证)

我阅读了有关 GetLastInputInfo 的信息,但我不相信它会对我的情况有所帮助。如果用户与应用程序交互,我想要的只是获取信息。

我正在使用 C++。操作系统:Windows 10 x64 位。

4

1 回答 1

0

您的应用程序如何挂钩输入队列并过滤您认为适用于正在使用的应用程序的消息(可能是 keyup/down/mousemove 可能不是 WM_TIMER 或 WM_PAINT),然后当您决定它已经足够长时,因为您收到了其中之一这些消息(每次收到所选消息之一时设置一个计时器),即您释放许可证密钥的时间。

于 2016-10-31T14:46:45.160 回答