首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ElectronJS:拖放文件到Windows任务栏上的电子应用程序图标上

ElectronJS:拖放文件到Windows任务栏上的电子应用程序图标上
EN

Stack Overflow用户
提问于 2021-02-22 17:09:44
回答 1查看 490关注 0票数 1

我试图让一个文件被拖到我的电子应用程序在Windows中。有几件事起作用:

  • I可以将文件拖到桌面图标上--应用程序很好地打开,我通过argv获得所需的文件--无论是在应用程序关闭时(通过初始加载)还是当应用程序通过“第二实例”处理程序打开时。
  • i可以将文件拖到应用程序中--所有操作都很好。

但是,当应用程序运行时,我希望能够将文件拖动到Windows任务栏上的电子应用程序图标上。当我做移位拖动,工具提示说‘打开与电子’,但当我然后drop....nothing发生。我尝试过在“第二个实例”处理程序中进行控制台日志记录,这正是我所期望的不需要fire...but的情况。

代码语言:javascript
运行
复制
app.on("second-instance", (event, argv) => {
    log.info("HERE");
    // Someone tried to run a second instance, we should focus our window.
    if (argv.length >= 2) {
        const urlPath = encodeURI(`file:///${argv[argv.length - 1]}`);
        openDeepLink(`app://open-image-url?location=${urlPath}`, mainWindow);
    }

    if (mainWindow) {
        if (mainWindow.isMinimized()) {
            mainWindow.restore();
        }
        mainWindow.focus();
    }
});

(当然,深度链接的短代码并不是真正的“应用”)。“这里”的log.info永远不会着火(我已经测试过log.info在其他地方工作,以防万一!)。

我正在运行: Windows 10 (完全更新)电容器-社区/电子: 1.3.1电子: 11.0.1

EN

回答 1

Stack Overflow用户

发布于 2021-02-23 12:21:00

是的-经过更多时间的观察-我发现了问题:

我在app.on中有以下代码(“就绪”):

代码语言:javascript
运行
复制
    if (Notification.isSupported()) {
        updateNotify = new Notification({
            title: "Update Available",
            body: "An update is available. It will be installed when you exit"
        });
    }

如果需要,稍后调用updateNotify.show()。结果发现,当我从“就绪”处理程序中删除该代码时,拖放工作正常。现在,我已经将相同的代码放入了“更新下载”处理程序中,一切正常。不太清楚为什么代码破坏了拖放,但这似乎解决了它!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66320231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档