我正在开发一个类似于 Nextcloud 的开源云项目。它还提供文件上传和管理功能。
我想要一个 shell 命名空间扩展,它在 Windows 资源管理器中显示这些文件和文件夹。应该可以移动、删除、重命名和编辑文件/文件夹。
数据可从 REST API 或我的 Electron 客户端获得。
我知道 NodeJS,只知道一些 C#。
是否可以使用 NodeJS/Electron 创建 shell 命名空间扩展?如果没有,是否有任何免费库可以使这项任务更容易?
我正在开发一个类似于 Nextcloud 的开源云项目。它还提供文件上传和管理功能。
我想要一个 shell 命名空间扩展,它在 Windows 资源管理器中显示这些文件和文件夹。应该可以移动、删除、重命名和编辑文件/文件夹。
数据可从 REST API 或我的 Electron 客户端获得。
我知道 NodeJS,只知道一些 C#。
是否可以使用 NodeJS/Electron 创建 shell 命名空间扩展?如果没有,是否有任何免费库可以使这项任务更容易?
Windows 资源管理器使用“COM”作为其扩展模型。因此,从技术上讲,只要它支持COM,你就可以使用任何你喜欢的东西。
对于 NodeJS,您将依赖运行时为您提供 COM 支持并包装适当的 API。我不知道有任何针对 Windows Shell API 执行此操作的项目。这是 WinRT API 的一个。
对于 C# (.NET),您将再次依赖运行时来获得 COM 支持。.NET 确实向您展示了这一点;虽然很乱。有一些项目包装了 shell API 并尝试尽可能地为您隐藏 COM 互操作性内容。
请注意,Microsoft 建议不要构建需要运行时的 shell 扩展(例如:.NET)。运行时可能会加载到不期望它的进程中。因此,在实践中,Microsoft 希望您使用 C/C++ 来构建 shell 扩展。这是 Microsoft 提供的示例项目。它是用 C++ 编写的。