Windows Electron 应用程序的文件夹快捷方式 - 获取该文件夹的路径?
Windows Folder Shortcut of an Electron App - get the path of that folder?
TL;DR
我想通过 Windows 文件夹快捷方式打开我的 Electron 应用程序(右键单击任何文件夹并单击 Run In My Electron App
),并获取启动应用程序
我设法使用 windows 注册表创建了快捷方式,但我找不到获取 启动该应用程序的文件夹的路径的方法。 (在快捷方式中,“临时”)
所以在上面的快捷方式中,目标是知道 F:\ePC\Libraries\Videos\Loom\Temporary
在电子应用程序中的路径。 (路径应始终与启动应用程序的文件夹相匹配)。
一个真实的工作示例:就像使用 WinRAR 时一样,您可以右键单击一个文件夹并单击“添加到存档...”-WinRAR 应用程序知道正确的文件夹路径-点击。 (有点像“打开文件”,而是“打开文件夹”)。
另一个与 Electron 一起使用的真实示例是 Visual Studio 代码,您可以右键单击文件夹并单击“使用代码打开”。 如何他们这样做?
我的尝试
我试图查看 Electron 的文档,但只找到了一种获取 EXE 文件路径的方法,但没有找到使用 Windows 文件夹快捷方式获取该文件的文件夹。
我也试过 process.argv
但它给了我 exe 文件的路径,而不是启动文件夹。
重现我的尝试并自行测试的步骤:
Get the repository and clone it. (It only has 3 files: index.js, index.html and package.json).
在命令行中打开该文件夹,然后 运行 npm install
通过 运行ning npm run package-win
导出电子应用程序。这应该将 exe 文件导出到 [relative app path]/rlease-builds/windows-folder-electron-shortcut-win32-ia32/windows-folder-electron-shortcut.exe
.
要为应用程序添加 windows 快捷方式:在 windows 注册表中创建:
HKEY_CLASSES_ROOT\Folder\shell\Run In My Electron App\command
这是一步一步的:
- 4个在 Windows.
中打开“注册表编辑器”
- 4转到
HKEY_CLASSES_ROOT\Folder\shell
并创建一个名为“运行 In My Electron App”的新文件夹
- 4 C。在创建的文件夹中,创建
command
文件夹。
- 4天。双击默认值,将其更改为exe文件的完整路径。
(在我的例子中,默认值为:C:\Users\elron\apps\windows-folder-electron-shortcut\rlease-builds\Paste Folder Icon-win32-ia32\Paste Folder Icon.exe
。确保路径是导出应用程序的 .exe 文件的路径。)
完成第 4 步后,它应该看起来像这样:
结果:
当运行通过文件夹快捷方式打开应用程序时,它会按预期为您提供 EXE 的路径,而不是启动该应用程序的路径,如此屏幕截图所示:
现在您可以测试了。
任何帮助将不胜感激!
在注册表中将此添加到您的命令值中:
"C:\Users\elron\apps\windows-folder-electron-shortcut\rlease-builds\Paste Folder Icon-win32-ia32\Paste Folder Icon.exe" "%1"
"%1"
会将启动目录传递给您的电子应用程序。
您可以像这样在电子应用程序中提取目录路径:
const exePath = process.argv[0];
const folderPath = process.argv[1];
TL;DR
我想通过 Windows 文件夹快捷方式打开我的 Electron 应用程序(右键单击任何文件夹并单击 Run In My Electron App
),并获取启动应用程序
我设法使用 windows 注册表创建了快捷方式,但我找不到获取 启动该应用程序的文件夹的路径的方法。 (在快捷方式中,“临时”)
所以在上面的快捷方式中,目标是知道 F:\ePC\Libraries\Videos\Loom\Temporary
在电子应用程序中的路径。 (路径应始终与启动应用程序的文件夹相匹配)。
一个真实的工作示例:就像使用 WinRAR 时一样,您可以右键单击一个文件夹并单击“添加到存档...”-WinRAR 应用程序知道正确的文件夹路径-点击。 (有点像“打开文件”,而是“打开文件夹”)。
另一个与 Electron 一起使用的真实示例是 Visual Studio 代码,您可以右键单击文件夹并单击“使用代码打开”。 如何他们这样做?
我的尝试
我试图查看 Electron 的文档,但只找到了一种获取 EXE 文件路径的方法,但没有找到使用 Windows 文件夹快捷方式获取该文件的文件夹。
我也试过 process.argv
但它给了我 exe 文件的路径,而不是启动文件夹。
重现我的尝试并自行测试的步骤:
Get the repository and clone it. (It only has 3 files: index.js, index.html and package.json).
在命令行中打开该文件夹,然后 运行
npm install
通过 运行ning
npm run package-win
导出电子应用程序。这应该将 exe 文件导出到[relative app path]/rlease-builds/windows-folder-electron-shortcut-win32-ia32/windows-folder-electron-shortcut.exe
.要为应用程序添加 windows 快捷方式:在 windows 注册表中创建:
HKEY_CLASSES_ROOT\Folder\shell\Run In My Electron App\command
这是一步一步的:
- 4个在 Windows. 中打开“注册表编辑器”
- 4转到
HKEY_CLASSES_ROOT\Folder\shell
并创建一个名为“运行 In My Electron App”的新文件夹 - 4 C。在创建的文件夹中,创建
command
文件夹。 - 4天。双击默认值,将其更改为exe文件的完整路径。
(在我的例子中,默认值为:C:\Users\elron\apps\windows-folder-electron-shortcut\rlease-builds\Paste Folder Icon-win32-ia32\Paste Folder Icon.exe
。确保路径是导出应用程序的 .exe 文件的路径。)
完成第 4 步后,它应该看起来像这样:
结果:
当运行通过文件夹快捷方式打开应用程序时,它会按预期为您提供 EXE 的路径,而不是启动该应用程序的路径,如此屏幕截图所示:
现在您可以测试了。
任何帮助将不胜感激!
在注册表中将此添加到您的命令值中:
"C:\Users\elron\apps\windows-folder-electron-shortcut\rlease-builds\Paste Folder Icon-win32-ia32\Paste Folder Icon.exe" "%1"
"%1"
会将启动目录传递给您的电子应用程序。
您可以像这样在电子应用程序中提取目录路径:
const exePath = process.argv[0];
const folderPath = process.argv[1];