【问题标题】:Detect existing idle application检测现有的空闲应用程序
【发布时间】:2017-03-13 15:00:47
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 这是 Windows 10,我刚刚更新了帖子。感谢您的建议。

标签: c++ windows idle-processing


【解决方案1】:

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

【讨论】:

  • 我非常希望有另一种方法。我以前从来没有做过这种钩子的事情,所以如果你向我推荐任何文献,我将能够阅读更多关于钩子、消息、回调、事件等的文献,我将不胜感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-12
  • 2011-06-04
  • 2011-06-27
  • 1970-01-01
  • 2015-09-15
  • 2012-06-22
  • 2022-01-19
相关资源
最近更新 更多