Возможно, но лучше сделать функцию с координатами мыши на стороне рендера. потому что отправка ipc-сообщений в виде потока может замедлить работу приложения.
Ниже приведен пример того, как вы можете использовать ipc-сообщения для этой цели.
(function() {
const ipcRenderer = require('electron').ipcRenderer;
document.onmousemove = handleMouseMove;
function handleMouseMove(event) {
var eventDoc, doc, body;
event = event || window.event; // IE-ism
// If pageX/Y aren't available and clientX/Y are,
// calculate pageX/Y - logic taken from jQuery.
// (This is to support old IE)
if (event.pageX == null && event.clientX != null) {
eventDoc = (event.target && event.target.ownerDocument) || document;
doc = eventDoc.documentElement;
body = eventDoc.body;
event.pageX = event.clientX +
(doc && doc.scrollLeft || body && body.scrollLeft || 0) -
(doc && doc.clientLeft || body && body.clientLeft || 0);
event.pageY = event.clientY +
(doc && doc.scrollTop || body && body.scrollTop || 0) -
(doc && doc.clientTop || body && body.clientTop || 0 );
}
// Use event.pageX / event.pageY here
ipcRenderer.send('mouse-move',{ x : event.pageX , y : event.pageY });
}
})();
и в main.js
const ipcMain= require('electron').ipcMain;
ipcMain.on('mouse-move', (event, arg) => {
console.log(arg) // prints eg :"{ x: 0 , y : 0 }"
event.sender.send('return-value', arg.x + arg.y);//for eg : adds x and y
})
и перехватить возвращаемое значение в скрипте рендерера
ipcRenderer.on('return-value', (event, arg) => {
console.log(arg) // prints 0 ; x + y
// Do what you want to do with the value
})