如何访问用户现在正在使用的程序的窗口?
这不应该违反系统的安全性。 事实是,我想在NodeJS和Electron上编写一个应用程序,以查看用户正在运行和正在使用哪个程序。
我可以使用哪一种方法?我可以使用Windows API吗?如果答案是“是”,怎么办?
答案 0 :(得分:0)
我不太了解电子,但是在node.js中,您有以下几种选择:
您可以找到一个NPM模块,该模块知道如何列出当前计算机上运行的进程,安装该模块并使用其API。例如,这是一个叫做process-list
的名字。 here还显示了许多其他内容。
您可以找到一个常规的Windows命令行程序(类似于Unix ps
),该程序可以在命令行提示符下列出当前的Windows进程,然后可以使用child_process
模块在node.js中运行以从node.js运行该程序并捕获其输出。
您可以编写自己的node.js本机代码插件,该插件直接访问Windows API以获取此过程信息,然后通过该插件将其返回给Javascript。这可能是选项#1中的NPM模块已经完成的工作。
我可以使用Windows API
是,可以通过本机代码插件或通过某些代理为您访问Windows API的插件。 Windows API访问不是直接内置在node.js中。
我个人将站在那些已经完成这项工作的人的肩膀上,并从许多似乎已经内置了此过程列表功能的NPM模块中进行选择。注意:在任何现代OS中,对什么内容都有安全性限制您可以在没有提升特权的情况下进行或了解其他流程。通常,您可以找到正在运行的内容。