node.js - 机器被锁定/解锁时的事件(Electron Windows)

标签 node.js windows electron

所以我有一些任务需要在用户锁定他们的机器时得到通知。这是为了暂停这些任务。同样,我需要知道机器何时成功解锁才能恢复上述任务。这纯粹是针对 Windows 的唯一功能,因此不需要跨平台。

我查看了 Electron 文档并找到了 this关于 powerMonitor API 但是它只有 suspendresume 的事件。我假设他们指的是机器进入休眠状态,因为锁定和解锁不会在我的机器 (Win 10) 上触发它们。

我对核心 Windows 及其消息/事件系统的工作原理知之甚少。但是我找到了this其中列出了有关 WM_WTSSESSION_CHANGE 的信息,这似乎是我需要的。特别是 WTS_SESSION_LOCK (0x7)WTS_SESSION_UNLOCK (0x8) 状态代码。

但是我找不到直接使用 electron 或 NodeJS 来收听 Windows 消息的方法。

如有任何关于该问题的建议,我们将不胜感激。谢谢

最佳答案

以防万一有人解决这个老问题,powerMonitor现在为此支持两个事件:lock-screenunlock-screen,因此您可以(在主进程中):

const {powerMonitor} = require("electron");

powerMonitor.addListener('lock-screen', () => {
  // Screen is locked, do something
});

powerMonitor.addListener('unlock-screen', () => {
  // Screen is unlocked, do something else
});



关于node.js - 机器被锁定/解锁时的事件(Electron Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43931506/

相关文章:

node.js - Webpack 在 linux 上找不到 lodash 子模块,但在 macOS 上可以正常工作

javascript - 如何在 node.js 中获取所有 memcached 数据?

windows - Chrome 是如何为浏览器创建不同的 GUI 的?

c++ - 如何在 Visual C++ 中截断文件?

javascript - 如何将 Electron 应用程序编译为 .exe

javascript - 如何在 ElectronJS 中打印 DIV

node.js - MongooseError - 操作 `users.findOne()` 缓冲在 10000 毫秒后超时

mysql - BigQuery REGEXP_REPLACE

c# - 防止用户通过系统热键退出 Windows 应用程序

node.js - 生产构建后如何在 react 应用程序中使用 Node 模块?