我想用Electron从主进程(Not render)中捕获鼠标移动事件 现在,我正在做一个setInterval循环来捕捉鼠标位置,但这不是很干净(并且来自渲染过程)......
它看起来像这样:
setInterval(function () {
let mousePos = SCREEN.getCursorScreenPoint()
}, 0)
所以......我怎样才能从主要过程中捕获事件?
当鼠标在窗口外时,我想知道鼠标的位置
答案 0 :(得分:1)
您可以从主进程中获取与在渲染器进程中完全相同的鼠标位置,唯一需要等到发布应用程序模块的ready事件。
所以,例如:
// wait until ready event is fired
electron.app.on('ready', function() {
// get the mouse position
let mousePos = electron.screen.getCursorScreenPoint();
console.log(mousePos);
});
https://electronjs.org/docs/api/screen#screengetcursorscreenpoint
答案 1 :(得分:0)
您可以在浏览器窗口中添加一个挂钩,以侦听Windows WM_MOUSEMOVE消息(在这种情况下,消息代码为0x200 https://docs.microsoft.com/en-us/windows/desktop/inputdev/wm-mousemove)。
browserWindow.hookWindowMessage(0x200, () => {
// Your function here
})