【问题标题】:Is there an easy way to detect *any* (and all) user activity?有没有一种简单的方法来检测 *any*(和所有)用户活动?
【发布时间】:2012-09-14 11:47:41
【问题描述】:

如果用户以任何方式与我的应用交互,我想重新启动强制注销计时器。

任何菜单项,任何单击的按钮(不确定是否只是单击表单)。

有没有一种简单的方法可以检测到用户仍然“活跃”?

【问题讨论】:

  • 使用 TApplication.OnMessage 并仅对输入消息做出反应
  • 这也将捕获鼠标在窗口上移动。这几乎不是互动。所以问题是 - 用户与应用程序或计算机交互?
  • @Arioch 我猜如果应用程序处于非活动状态,您会忽略鼠标移动。
  • 这个 Stackoverflow 的答案会有帮助吗? stackoverflow.com/questions/2212823/how-to-detect-inactive-user
  • @Dean +1 如果您将其作为答案发布,我将奖励您答案

标签: delphi


【解决方案1】:

这个组件正是您正在寻找的。它被称为 ETimer,可以找到 here

基本上只需将计时器放在表单上并将其间隔设置为 1000 毫秒,然后在计时器事件中检查计时器的贪睡属性,如果贪睡属性大于 60000(1 分钟),那么你知道应用在 1 分钟内没有任何用户交互。

它很容易使用,但如果遇到困难请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-25
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多