我正在做一个项目,它是一个开源云,类似于Nextcloud。它还提供了文件上传和管理功能。
我希望有一个shell命名空间扩展,它可以在Windows资源管理器中显示这些文件和文件夹。应该可以移动、删除、重命名和编辑文件/文件夹。
数据可以从REST API或my Electron客户端获得。
我认识NodeJS,也只认识一些C#。
有没有可能用NodeJS / Electron来创建外壳命名空间扩展?如果没有,有没有免费的库可以让这项任务变得更容易?
发布于 2020-05-12 15:42:34
Windows资源管理器使用“COM”作为其扩展模型。因此,从技术上讲,您可以使用任何您喜欢的东西,只要它支持COM。
对于NodeJS,您将依赖于运行库来为您提供COM支持并包装适当的API。据我所知,没有任何项目可以为Windows Shell API实现这一点。Here是一种用于WinRT API的API。
对于C# (.NET),您将再次依赖于运行时来获得COM支持。.NET确实向您公开了这一点;尽管它很混乱。有一些项目包装了shell API,并试图尽可能地为您隐藏COM互操作的粘性。
Here is an open source one。Here is a commercial one。
请注意,微软建议不要构建需要运行时(EG:.NET)的外壳扩展。运行库可能会加载到不需要它的进程中。因此,在实践中,Microsoft希望您使用C/C++来构建shell扩展。Here是微软提供的示例项目。它是用C++编写的。
https://stackoverflow.com/questions/61644234
复制相似问题