Windows Расширение пространства имен оболочки из REST API - PullRequest
1 голос
/ 06 мая 2020

Я работаю над проектом, который представляет собой облако с открытым исходным кодом, похожее на Nextcloud. Он также обеспечивает функцию загрузки файлов и управления ими.

Я бы хотел иметь расширение пространства имен оболочки, которое отображало бы эти файлы и папки в Windows проводнике. Перемещение, удаление, переименование и редактирование файлов / папок должно быть возможным.

Данные доступны из REST API или моего электронного клиента.

Я знаю NodeJS и только некоторые C#.

Возможно ли с помощью NodeJS / Electron создать расширение пространства имен оболочки? Если нет, то есть ли бесплатные библиотеки, облегчающие эту задачу?

1 Ответ

1 голос
/ 12 мая 2020

Windows Explorer использует COM в качестве модели расширения. Следовательно, технически говоря, вы можете использовать все, что захотите, если оно поддерживает COM.

Для NodeJS вы будете зависеть от среды выполнения, чтобы предоставить вам поддержку COM и обернуть соответствующий API. Я не знаю ни одного проекта, который делал бы это для API Windows Shell. Здесь - это один для API WinRT.

Для C# (. NET), опять же, вы будете зависеть от среды выполнения для поддержки COM. . NET раскрывает вам это; хотя это грязно. Есть несколько проектов, которые обертывают API-интерфейсы оболочки и пытаются скрыть липкую среду COM-взаимодействия, насколько это возможно.

Вот проект с открытым исходным кодом . Вот коммерческий .

Имейте в виду, что Microsoft не рекомендует создавать расширения оболочки, требующие времени выполнения (например:. NET). Среда выполнения может быть загружена в процессы, которые этого не ожидают. Поэтому на практике Microsoft ожидает, что вы будете использовать C / C ++ для создания расширений оболочки. Здесь - это образец проекта, предоставленный Microsoft. Написан на C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...