Javascript Electron:如何使用Electron应用程序捕获计算机活动?

Javascript Electron:如何使用Electron应用程序捕获计算机活动?,javascript,node.js,api,electron,keylogger,Javascript,Node.js,Api,Electron,Keylogger,我正在考虑使用electron开发一个桌面应用程序,用Mac捕捉电脑活动。我以前计划使用RescueTimeAPI,但我正在进行的用户研究项目需要更详细的计算机使用数据。现在我可以使用注册一些操作,但我只能在主进程上运行它,而不能在渲染进程上运行它 我还想知道我是否能检测到用户何时将任务从一个应用程序切换到另一个应用程序,如从photoshop切换到chrome、关闭/最小化另一个应用程序的窗口等? 有人知道怎么做吗?或者是否有任何API/包可供使用 (注:robot.js似乎与此相关,但它太复

我正在考虑使用electron开发一个桌面应用程序,用Mac捕捉电脑活动。我以前计划使用RescueTimeAPI,但我正在进行的用户研究项目需要更详细的计算机使用数据。现在我可以使用注册一些操作,但我只能在主进程上运行它,而不能在渲染进程上运行它

我还想知道我是否能检测到用户何时将任务从一个应用程序切换到另一个应用程序,如从photoshop切换到chrome、关闭/最小化另一个应用程序的窗口等?

有人知道怎么做吗?或者是否有任何API/包可供使用


(注:robot.js似乎与此相关,但它太复杂,需要大量依赖项,这对我的项目来说太复杂了。)

对于electron或任何基于web的应用程序框架,都无法满足您的要求。您可以捕获键盘输入,但是:

我想知道我是否能检测到用户何时将任务从一个应用程序切换到>另一个应用程序,比如从photoshop切换到chrome,关闭/最小化>另一个应用程序的窗口,以及按ctrl+s,等等

这意味着你的应用程序的窗口在你需要捕捉的大量按键过程中并没有焦点。v8和其他基于浏览器的应用程序无法访问捕获此信息所需的系统api


如果您不能/不想编写本机代码,则需要在user32.dll上使用DLLImport。

您可以在主进程上使用全局快捷方式,然后使用BrowserWindow.WebContent.send(msg)将消息发送到渲染器。当然,这个答案是正确的,节点本身无法做到这一点,但可能会完成任务