微软发布了不支持 ActiveX 的 Edge 浏览器。
我有一个需要从 Windows 注册表获取信息的应用程序,所以我对 ActiveX 的替代品有一些疑问:
有没有办法从 Edge 或类似的东西(如 Chrome 中的本机消息传递)与本机应用程序(可以从 Windows 注册表中读取)进行通信?
有没有办法从 Edge、Javascript 等直接访问 Windows 注册表?
微软发布了不支持 ActiveX 的 Edge 浏览器。
我有一个需要从 Windows 注册表获取信息的应用程序,所以我对 ActiveX 的替代品有一些疑问:
有没有办法从 Edge 或类似的东西(如 Chrome 中的本机消息传递)与本机应用程序(可以从 Windows 注册表中读取)进行通信?
有没有办法从 Edge、Javascript 等直接访问 Windows 注册表?
目前,我认为您无法从运行在 MS Edge 中的 Web 应用程序访问注册表。如果您只需要保存信息,则可以选择不同的替代方案来启用类似的功能。
您可以使用 HTML/JS 可用的存储选项,例如 webStorage 或 indexedDB。它们都可以在所有现代浏览器中使用,并可用于在客户端保存数据。
如果该应用程序应该仅在 Windows 10 上可用,您可能会考虑构建一个托管 Web 应用程序 ( http://blogs.windows.com/buildingapps/2015/07/06/project-westminster-in-a-nutshell/ )该技术使您能够访问 Windows 操作系统的某些功能,但不能访问注册表。
如果您的应用高度依赖 ActiveX 和 Windows 注册表,您仍然可以在 Windows 10 中使用 Internet Explorer 11。
在我回答之前几天,微软刚刚在其在线文档中引入了Edge 扩展和原生应用程序之间的原生消息传递:
https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/native-messaging
这可能负担得起你需要的东西。