windows - 在应用程序空闲时执行操作

标签 windows delphi

我有一个非常简单的应用程序,其中包含一个表单、一个 richedit 和一个菜单。我正在尝试自动将文本保存在 richedit 上并执行其他任务,但应用程序处于空闲状态时 - 当用户未写入或应用程序失去焦点或其他任何情况时。

我尝试从互联网上找到的大量示例代码创建一个 OnIdle 事件处理程序,但它的作用恰恰相反,它会在我 使用该应用程序时激活。这link是一个例子。

我还用了一个计时器来检查用户最后一次写信给 richedit 是什么时候,但如果可能的话我宁愿不使用计时器。

有谁知道如何检测应用程序是否空闲并在空闲时运行一些代码?我正在使用 delphi 7。

最佳答案

我也会推荐一个计时器,但会“重置”倒计时(切换关闭然后重新打开)以响应 richedit 中发生的任何键盘事件。这样,您就不会在用户尝试输入时进行保存。

正如 Andreas 所指出的,下面是实际实现它的方法: 每次用户执行某些操作时,例如更改编辑器的插入符位置,执行 Timer1.Enabled := false; Timer1.Enabled:=真。这将重置计时器。实际上,在最后一个 Timer1.Interval 毫秒内没有用户事件之前,计时器永远不会触发

关于windows - 在应用程序空闲时执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730098/

相关文章:

mysql - Delphi 2010,在没有 lib dll 的情况下连接到 mySQL 和 Firebird 数据库

delphi - 有没有办法从 Delphi IDE 编译 C 代码作为 Delphi 项目的一部分?

Delphi ClientDataset 只读

windows - PE 文件格式 - 节表和第一节之间是什么?

delphi - 将 .dll 文件添加到应用程序

delphi - 在 Delphi 中连接到 Windows Media Player

java - apktool 未被识别为外部或内部命令

python - cx_Freeze 无法找到 mkl : MKL FATAL ERROR: Cannot load mkl_intel_thread. dll

c++ - 如何防止 WSASend() 阻塞我的 UI 线程?

python - 在 Windows 上安装 python mathutils 时出现问题