弄了个类似浏览器的东西,想点击外部链接比如从文档里点开某个链接的时候触发second-instance,然后在electron里打开页面。现在遇到的问题是默认浏览器找不到我写的应用,在代码里直接设置默认浏览器也不行
5条回答 默认 最新
阿里嘎多学长 2025-02-28 20:02关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
解决方案
在 Windows 系统中,设置 Electron 应用程序为默认浏览器需要在注册表中进行修改。下面是一个简单的解决方案:
- 在注册表中创建一个新的键值对,路径为
HKEY_CLASSES_ROOT\http\shell\open\command。 - 在该键值对中添加一个字符串值,名称为
Default, 值为 Electron 应用程序的可执行文件路径,例如C:\Path\To\Your\Electron\App.exe。 - 在该键值对中添加一个字符串值,名称为
Argument, 值为"%1",这将将打开的 URL 作为命令行参数传递给 Electron 应用程序。
以下是一个示例代码,使用 Node.js 和
registry模块来实现注册表修改:const registry = require('registry'); // 设置默认浏览器 registry.set('HKEY_CLASSES_ROOT\\http\\shell\\open\\command', 'Default', 'C:\\Path\\To\\Your\\Electron\\App.exe'); registry.set('HKEY_CLASSES_ROOT\\http\\shell\\open\\command', 'Argument', '%1');- 在 Electron 应用程序中,使用
app.setAsDefaultBrowser()方法来设置应用程序为默认浏览器。
const { app } = require('electron'); app.setAsDefaultBrowser();- 重新启动 Electron 应用程序,或者使用
taskkill命令强制结束应用程序,然后重新启动。
重要注意
在 Windows 10 中,需要在注册表中添加一个新的键值对
HKEY_CLASSES_ROOT\http\shell\open\command\default,并将其值设置为C:\\Path\\To\\Your\\Electron\\App.exe。此外,在某些情况下,可能需要在注册表中添加其他键值对来确保 Electron 应用程序正确地打开 URL。
解决 无用评论 打赏 举报- 在注册表中创建一个新的键值对,路径为