有没有一种简单的方法来检测*任何*(以及所有)用户活动?

3

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

无论是任何菜单项还是任何按钮被点击(对于仅在表单上点击不确定)。

有没有一种简单的方法来检测用户是否仍然“活跃”?


1
使用TApplication.OnMessage并仅对输入消息做出反应。 - David Heffernan
2
这将捕捉鼠标在窗口移动的内容。那几乎算不上交互。 因此问题是 - 用户是与应用程序还是计算机进行交互? - Arioch 'The
@Arioch 如果应用程序处于非活动状态,我猜你会忽略鼠标移动。 - David Heffernan
3
这个 Stackoverflow 的回答能帮到你吗? https://dev59.com/0XE95IYBdhLWcg3wp_un - Dean Roberson
@Dean +1 如果你把那个作为答案发布,我会授予你答案。 - Mawg says reinstate Monica
@DeanRoberson,抱歉我已经授予了奖励,只是为了关闭问题。我欠你的! - Mawg says reinstate Monica
1个回答

1

这个组件正是你所需要的。它被称为ETimer,可以在这里找到。

基本上只需将计时器放在表单上,并将其间隔设置为1000毫秒,然后在计时器事件中检查计时器的Snooze属性,如果Snooze属性大于60000(1分钟),则说明应用程序已经1分钟没有用户交互了。

它非常容易使用,但如果你遇到问题,请告诉我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接