electron 通过 windows protocol协议调起程序拿不到协议参数

发布于 2022-09-12 23:18:38 字数 1153 浏览 23 评论 0

需求 通过网页 a标签中的href 如 myapp://startapp/xxxxx或者 myapp://xxxxx调起electron 并拿到 xxxxx 参数。

eletron main/index.js

let args = [];

// 加一个 `--` 以确保后面的参数不被 Electron 处理
args.push('--');

app.setAsDefaultProtocolClient(PROTOCOL, args);

handleArgv(args);

function handleArgv(argv) {
    handleUrl(argv);
}

function handleUrl(urlStr) {
    const storage = require('electron-localstorage');
 
    console.log(urlStr)
    storage.removeItem("name");
    storage.setItem("name", JSON.stringify(urlStr))
}

在 handleArgv的方法中 我也尝试过使用 process.argv去获取protocol协议,但是都无法拿到。

这是注册表

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\myapp]
@="URL:myapp Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\myapp\DefaultIcon]
@="C:\\Users\\Administrator\\Desktop\\HWCloudLinkDemo\\Code\\build\\HW CloudLink-win32-ia32\\HW CloudLink.exe"

[HKEY_CLASSES_ROOT\myapp\shell]

[HKEY_CLASSES_ROOT\myapp\shell\open]

[HKEY_CLASSES_ROOT\myapp\shell\open\command]
@="C:\\Users\\Administrator\\Desktop\\HWCloudLinkDemo\\Code\\build\\HW CloudLink-win32-ia32\\HW CloudLink.exe \"%1\""

请问我该如何写才能拿到 protocol 中的参数呢?感激不尽

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文