如何从 Electron 应用程序检测桌面空闲时间?

2022-01-10 00:00:00 electron javascript

我需要我的 Electron 应用程序在一段时间内响应用户闲置(操作系统上的任何程序都没有鼠标或键盘输入).

I need my Electron app to respond to the user becoming idle (no mouse or keyboard inputs to any program on the OS) for a certain amount of time.

如何根据这些空闲时间数据触发函数?

How can I trigger a function based on such idle time data?

推荐答案

您始终可以使用 XScreenServer, GetLastInputInfo 在 Windows 上和 CGEventSourceSecondsSinceLastEventType 在 Mac 上

You can always detect idle times on Linux by using XScreenServer, GetLastInputInfo on Windows and CGEventSourceSecondsSinceLastEventType on Mac

我已经使用这些 API 发布了 desktop-idle,您可以查看源代码代码 https://github.com/bithavoc/node-desktop-idle

I've published desktop-idle using these API's, you can check the source code https://github.com/bithavoc/node-desktop-idle

更新:

Electron 3 用户可以使用 power monitor API 来实现相同的目标:https://electronjs.org/docs/api/power-monitor

Electron 3 users can use the power monitor API to achieve the same goal: https://electronjs.org/docs/api/power-monitor

相关文章