问题描述
信息:
- 操作系统:Windows 10
- 电子版本:最新
- Electron Builder版本:最新
我正在尝试制作一个可编辑.txt
文件的应用。我想获取使用应用程序打开时的文本文件的路径(即用户选择使用我的应用程序打开.txt
)。我在build
的{{1}}中加入了以下内容:
package.json
这将使应用程序与文件一起打开,但是如何获取用于打开应用程序的文件的路径。我知道我必须对"fileAssociations": [
{
"name": "Text Files","description": "Plain Text File","ext": [
"txt"
]
}
],
做些什么,但是我不知道如何使用它。我尝试了以下失败的尝试:
process.argv
解决方法
这是整个process
的日志。如我们在这里看到的,第二个argv是输入文件路径的路径。因此,process.argv[1]
到文件路径就足够了。不确定为什么无法获得路径。
也许这来自您的ipc事件监听器。这意味着get-file-data
未正确触发。
正如您在下图中所看到的,我正在此浏览器控制台中显示此过程变量。这是我向渲染器公开process
变量的方式。但这仅用于调试!建议您在生产中不要这样做。
preload.js
process.once("loaded",() => {
window.process = process;
});
main.js
mainWindow = new BrowserWindow({
width: 1024,height: 728,minWidth: 800,minHeight: 750,webPreferences: {
enableRemoteModule: true,preload: path.join(__dirname,"preload.js"),}
});
您可以在渲染器上使用window.process
或process
我设法通过以下方式获得了路径:
const { remote } = require('electron');
console.log(remote.process.argv[1])
这将返回用于打开应用程序的文件的路径!