在 Electron 应用程序之外监听键盘事件和鼠标移动

我已经参与了几个 Electron 项目,我正在尝试弄清楚如何在应用程序处于后台时侦听任何按键或跟踪鼠标移动.我正在使用 menubar 插件,所以应用程序仍在后台运行.

I've been getting into a few Electron projects and I am trying to figure out how you could listen for any keypresses or and track mouse movement when the app is in the background. I am using the menubar plugin so the app is still running in the background.

我尝试使用 global-shortcut API,但它看起来仅适用于快捷方式,您无法注册单个按键.我还查看了 API,但尚未找到应用程序主屏幕之外的击键和鼠标移动事件.

I tried using the global-shortcut API but it looks like that is for shortcuts only and you can't register individual keystrokes. I've also looked over the API and have yet to find an event for keystrokes and mouse movements outside the app's main screen.

推荐答案

这超出了电子应用程序的正常用例范围.为了做到这一点,您需要开发一个本地模块来调用操作系统的相应本地函数.

This is outside of the realm of normal use-cases for an electron application. In order to do this you would need to develop a native module that calls into the corresponding native functions of the operating system.

例如在 Windows 上:C++ Win32 键盘事件

For example on windows: C++ Win32 keyboard events

为节点制作原生插件:https://nodejs.org/api/addons.html

仅供参考,原生插件非常难.

FYI, Native addons are very hard.

相关文章