Я работаю над корпоративным инструментом социальных закладок (для пользователей Windows, прежде всего). Пользователи могли бы отметить местные связи с этим инструментом, включая тех на сетевых дисках как:
//SERVER//something/file.doc
или что-то, что является местным, но все еще доступным для сети (если местные параметры настройки позволяют),
//MYNAME_MYMACHINE/Desktop/file.doc
Я хочу удостовериться это, когда кто-то отмечает связь как это:
c:/Desktop/file.doc
.. то, что я могу на самом деле определить что C: ссылка (так как это мог просто быть подсоединенный внешний диск). В действительности - эта ссылка только имеет смысл для одного человека в местном масштабе, если они установили двигатель в соответствии с этим письмом в местном масштабе. Это не будет работать, если кто-то еще попытается щелкнуть до, добираются до того ресурса.
Мой вопрос - как может, я (использующий любые средства) - подвергаю сомнению местную ссылку на файл и решаю полностью компетентный сетевой путь к обеспеченной пользователями связи? Я хотел извлечь "наиболее полностью компетентную версию" связи, чтобы максимизировать шанс, что это будет активируемо по щелчку кем-то еще, кто член Н. Э./LAN. Это предотвращает пользователя, имеющего необходимость волноваться о том, что "полностью компетентный" означает для того, чтобы поделиться ссылкой к fileshare, например.
Далее - использующий это в меню правой кнопки в Windows
The first part above determines the most fully-qualified network-accessible address for a resource. I then want to build a right-click button so that when somebody right-clicks a file in Windows Explorer - they see an option called Bookmark & Share this File. When they click that - the above resolution happens and the link to this file is saving on a server. The process this needs to go through is simple - it's a post to a JSON/XML endpoint for the app which saves the URL of the resource you want to save. How do I even begin doing this for various popular flavours of Windows? Is this called a "shell extension"?