有没有一种方法可以使用lua脚本将闲置时间存储在.txt文件中?或者在VBS中实时查询它?

注:我所说的“闲置时间”是指键盘和鼠标未被使用的毫秒分数。

基本上,我在工作中正在尝试的是在某人正在使用计算机时避免脚本自动激活,在我的特定情况下(考虑到公司这里使用的软件和脚本)我认为最好的方法是使用lua脚本将我们称为“闲置时间”的东西存储在文本文件中或在VBS中查询它。一种方法是每当有人移动光标或按键时,计数器(重新)开始计数。我们可以使用.lua来做到这一点吗?或者可能使用VBS的类似功能?

点赞
用户6020403
用户6020403

注意:我不太擅长 Windoze,所以要小心行事。

如果你愿意使用第三方程序,似乎有无数种方法可以解决这个问题。但一个建议是通过 本机任务计划程序注册表XML 文件 的形式运行你的应用程序。如果你设置了 StopOnIdleEnd,则知道只有在系统空闲时运行。

看起来你可以使用 alien 直接调用 ITaskService 接口,但我猜这可能是杀鸡焉用牛刀。

当然,要使这真正可行,你需要处理当系统变得不空闲时就被无情地终止的情况。我想当这种情况发生时,winapi 的 wait_async 将被触发,但我从未使用过,所以要“买者自负”。如果你的程序可以被安全地中断,也许你不在乎,或者可以将易变的管理程序与长时间运行/不能被终止的子程序分开。

你还可以想出一些心跳机制,让易变的管理程序让子程序知道是否可以继续运行(例如进程名称、已修改的文件等)。

2016-09-28 10:35:34