是否可以(以及如何)从 Web 应用在客户端计算机上执行程序?- 角度 5

Is it possible (and how) to execute a program on the client machine from a web app? - Angular 5

提问人:Maximiliano Andres Friedl Schw 提问时间:1/22/2018 更新时间:2/1/2018 访问量:80

问:

我正在开发一个 Web 应用程序来替换用作监视应用程序的旧应用程序。我正在复制的旧应用程序有一个小按钮,上面写着“观看”,它会调用 PC 上的程序,类似于 TeamViewer,但它只允许您观看,另一端没有注意到。

所以,我想做的是,从我的网络应用程序执行一个程序,将某些参数传递给应用程序(它必须能够观察不同的机器),并且应用程序需要继续运行。显然,必须有某种安全问题才能完成这项工作。此应用程序将仅在局域网中运行,在无法访问外部世界的互联网计算机之间运行。

有什么方法可以从 Web 浏览器中运行的 app-web 调用程序?我发现唯一能使我想要的是这个链接(weblogs.asp.net),但它需要事先在机器中创建自定义URL协议。虽然这不是灾难性的,但我宁愿拥有可以在局域网中的任何机器上使用的东西,而无需在机器中进行某种“准备”。

可能与之相关的一个例子是种子的磁力链接。当您单击磁力链接时,它会询问您是否要在 PC 中执行 X 应用程序(您的默认 torrent 应用程序),您可以同意或不同意(我在执行本地程序之前进行安全检查没有问题)。

如果这很重要,我主要使用 Angular 5 开发应用程序(以及用 python 中的 flask 制作的一些后端)。

Angular Web 客户端

评论


答:

1赞 Maximiliano Andres Friedl Schw 2/1/2018 #1

好的,所以,如果有人发现这个问题并想做一些类似于我需要的事情,这就是我最终做的事情。

使用 ElectronJS 并创建一个.exe桌面版本的应用程序,在那里我可以访问 Electron API,从中您可以执行文件和命令行。

除非您使用 Internet Explorer,并将网页设置为受信任,否则似乎无法从 Web 浏览器执行文件。有了这个,你可以使用 ,但使用 IE 对我来说不是一个选择(或者对任何人来说,可能。现在是 2018 年,来吧)。ActiveXObject