【发布时间】:2010-09-16 19:33:10
【问题描述】:
我有一个非常简单的应用程序,其中包含一个表单、一个 Richedit 和一个菜单。我正在尝试自动将文本保存在 Richedit 上并执行其他任务,但仅在应用程序空闲时 - 当用户不写作或应用程序失去焦点或其他情况时。
我尝试从 Internet 上找到的大量示例代码创建一个 OnIdle 事件处理程序,但它的作用恰恰相反,它会在我 am 使用该应用程序时激活。这个link 就是一个例子。
我还使用了一个计时器并检查用户最后一次写信给richedit是什么时候,但如果可能的话我宁愿不使用计时器。
有人知道如何检测应用程序是否空闲并在空闲时运行一些代码吗?我正在使用德尔福 7。
【问题讨论】:
-
您的解决方案肯定需要在某个地方设置一个计时器:您还要如何指定“空闲”是指空闲一毫秒还是空闲几秒钟?
-
idle 表示空闲。用户没有做任何事情。如果你想让它持续 1 秒,然后是 1 秒,1 分钟,然后是 1 分钟。然后选择一个没有区别
-
计时器就是这样做的方式!为什么你不想使用计时器?顺便说一句,将一个小的 RTF 文档保存到磁盘需要几毫秒;即使您每秒保存十次,最终用户也不会注意到它!此外,
TTimer并不像 Borland 那样奇怪,它只是原生 Win32 功能的包装器。 -
因为 ttimer 真的不是一个好的定时器。但是无所谓。我会用它。谢谢
-
连续保存操作之间是否有 60.1 秒而不是 60.0 秒有关系吗?