2

我正在开发一个类似于 Nextcloud 的开源云项目。它还提供文件上传和管理功能。

我想要一个 shell 命名空间扩展,它在 Windows 资源管理器中显示这些文件和文件夹。应该可以移动、删除、重命名和编辑文件/文件夹。

数据可从 REST API 或我的 Electron 客户端获得。

我知道 NodeJS,只知道一些 C#。

是否可以使用 NodeJS/Electron 创建 shell 命名空间扩展?如果没有,是否有任何免费库可以使这项任务更容易?

4

1 回答 1

2

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++ 编写的。

于 2020-05-12T07:42:33.617 回答